实现colorbar自由还是得靠自己啊:
官方文档:https://matplotlib.org/devdocs/api/_as_gen/matplotlib.colors.LinearSegmentedColormap.html?highlight=colors%20linearsegmentedcolormap%20from_list#matplotlib.colors.LinearSegmentedColormap.from_list

第一眼看到这个cdict真的挺晕的,不过仔细分析就很容易看明白啦。
首先,这里用的是RGB来调色
以’red’为例,我们来看看这个3*3的矩阵,每行的三个数字分别对应为x,y0和y1,x代表了这个颜色在colorbar上的位置,比如0就是colorbar的最小值,1是colorbar的最大值,所以x必须单调增加;然后其实真的需要看的就是每一行的y1和下一行的y0,这个函数其实就是在对应的x位置将y1-y0进行了差值(如上图所示),所以说,第一行的y0和第三行的y1其实设置为多少都不影响最终的结果,因为第一行的y0没有对应的上一行的y1,最后一行的y0没有对应下一行的y0,所以这俩数就是来占位的,明白了这一点这个矩阵应该就明白了。

下面是两个例子供大家理解:

import matplotlib as mpl
import numpy as np
import matplotlib.pyplot as plt
tem = np.zeros((100,100))
tem[:]=np.nan
cdict = {'red':   [(0.0,  0.0, 0.0),(0.5,  0.5, 0.5),(1.0,  1.0, 0.0)],'green': [(0.0,  0.0, 0.0),(0.5, 0.0, 0.0),(1.0,  0.0, 0.0)],'blue':  [(0.0,  0.0, 0.0),(0.5,  0.0, 0.0),(1.0,  0.0, 0.0)]}
cmap =  mpl.colors.LinearSegmentedColormap('cmap', cdict, 256)
plt.imshow(tem,cmap = cmap)
plt.colorbar()

import matplotlib as mpl
import numpy as np
import matplotlib.pyplot as plt
tem = np.zeros((100,100))
tem[:]=np.nan
cdict = {'red':   [(0.0,  0.0, 0.0),(0.5,  1.0, 0.0),(1.0,  1.0, 0.0)],'green': [(0.0,  0.0, 0.0),(0.5, 0.0, 0.0),(1.0,  0.0, 0.0)],'blue':  [(0.0,  0.0, 0.0),(0.5,  0.0, 0.0),(1.0,  0.0, 0.0)]}
cmap =  mpl.colors.LinearSegmentedColormap('cmap', cdict, 256)
plt.imshow(tem,cmap = cmap)
plt.colorbar(orientation = 'horizontal')


除了用cdict来定义colorbar,我们还可以使用颜色列表来定义,mpl会自动对这些颜色列表进行插值,我认为也是很好用的,比如说我认为bwr这个色条两端颜色太深了,我就可以选出来中间的一段色条重新构建colorbar:

import matplotlib as mpl
import numpy as np
import matplotlib.pyplot as plt
tem = np.zeros((100,100))
tem[:]=np.nan
cmap0=plt.get_cmap('bwr',12)
bwr_10 = mpl.colors.LinearSegmentedColormap.from_list('bwr_10', cmap0(np.arange(1,11)), 10)
#The number of rgb quantization levels.如果想要分级的colorbar,这里的数值就和级数相同即可
#如果想要连续的这里就调成255肉眼就看不出来了
plt.imshow(tem,cmap = 'bwr')
plt.colorbar(orientation = 'horizontal')plt.imshow(tem,cmap = bwr_10)
plt.colorbar(orientation = 'horizontal')

bwr:

bwr_10:

解析matplotlib.colors.LinearSegmentedColormap中的字典颜色分割,自定义colorbar相关推荐

  1. EasyExcel 单元格背景颜色、字体颜色使用2种设置颜色方法(IndexedColors中定义的颜色,自定义RGB颜色)实现

    1 Maven配置 <!--hutool工具包--><dependency><groupId>cn.hutool</groupId><artifa ...

  2. python colormap_Python colors.LinearSegmentedColormap方法代码示例

    本文整理汇总了Python中matplotlib.colors.LinearSegmentedColormap方法的典型用法代码示例.如果您正苦于以下问题:Python colors.LinearSe ...

  3. python自定义函数画图_python matplotlib自定义colorbar颜色条-以及matplotlib中的内置色条...

    自定义colorbar(draw colorbar without any mapple/plot) 参考:Customized Colorbars Tutorial api example code ...

  4. python中颜色_python - matplotlib中的命名颜色

    Matplotlib使用colors.py模块中的字典. 要打印名称,请使用: # python2: import matplotlib for name, hex in matplotlib.col ...

  5. python matplotlib自定义colorbar颜色条-以及matplotlib中的内置色条

    文章目录 自定义colorbar(draw colorbar without any mapple/plot) contourf函数 为所有子图添加一个色带 推荐色带与自定义色带 PS: 传送门--自 ...

  6. python中color的用法顺序_Python Matplotlib.colors.Normalize用法及代码示例

    Matplotlib是Python中令人惊叹的可视化库,用于数组的二维图. Matplotlib是一个基于NumPy数组的多平台数据可视化库,旨在与更广泛的SciPy堆栈配合使用. matplotli ...

  7. python中等高线填充颜色_Python matplotlib等高线图对数颜色

    我对使用对数颜色缩放的等高线图有问题.我想手动指定级别.然而,Matplotlib以一种奇怪的方式绘制颜色条--标签放置得不好,只有一种颜色出现.这个想法是基于 http://adversus.110 ...

  8. python中如何定义颜色_Python图像处理之颜色的定义与使用分析

    本文实例讲述了Python图像处理之颜色的定义与使用.分享给大家供大家参考,具体如下: python中的颜色相关的定义在matplotlib模块中,为方便使用,这里给大家展示一下在这个模块中都定义了哪 ...

  9. python matplotlib.pyplot.scatter() 中的cmap参数是什么意思?

    根据官方文档, cmap就是指matplotlib.colors.Colormap: 那么matplotlib.colors.Colormap又是什么? colormap又叫colorbar是一个包含 ...

最新文章

  1. [转] 前端数据驱动的价值
  2. Linux下安装oracle提示INS-20802 Oracle Net Configuration Assistant
  3. 我的python之路(四):列表
  4. mysql冷备增量备份,MySQL备份与恢复之真实环境使用冷备(2)
  5. 【208天】黑马程序员27天视频学习笔记【Day21-中】
  6. matlab 点云特征_基于点云的3D障碍物检测
  7. Swift傻傻分不清楚系列(九)闭包
  8. 2017西安交大ACM小学期 刷墙[折半枚举+异或]
  9. linux mod_ssl源码安装,linux下不重新编译apache添加安装mod_ssl模块和错误的处理方法...
  10. 字符串去空格符(c++)
  11. java stream read_Java ObjectInputStream read()用法及代码示例
  12. [SQL Server 2014] SQL Server 2014新特性探秘
  13. CCF201709-2 公共钥匙盒(100分)【模拟+优先队列】
  14. java数字代码_Java基础08—数字类处理(示例代码)
  15. SSD固态硬盘4K对齐一键分区
  16. 阿里图标库《保留彩色》
  17. WIN10更新后遗症+解决方案2——Solidworks注册机闪退
  18. java 注解 entity_详解Java中的注解
  19. 调出win10的关机的休眠(hibernate)选项
  20. oracle数据库中TDS,某高校开发了一个学生信息管理系统TDS,里面使用了Oracle数据库。则TDS被称为...

热门文章

  1. python实现给定电影英文名,在猫眼上爬到中文名和票房
  2. leetcode 589. N-ary Tree Preorder Traversal
  3. 基于微信小程序的宠物用品商城小程序
  4. vb获取系统临时目录 temp
  5. Linux文件,目录权限管理
  6. 《如何做一个抗压的人》读书笔记
  7. HDU - 奔小康赚大钱(二分图最佳匹配+KM)
  8. windows gvim配置
  9. 使用opencv实现自定义抠图
  10. 使用Python实现基于强化学习与游戏化学习典型算法