文章目录

  • 自定义colorbar(draw colorbar without any mapple/plot)
  • contourf函数
  • 为所有子图添加一个色带
  • 推荐色带与自定义色带

PS: 传送门——自定义Colorbars教程

自定义colorbar(draw colorbar without any mapple/plot)

参考:Customized Colorbars Tutorial
   api example code: colorbar_only.py
  自定义colorbar可以画出任何自己想要的colorbar,自由自在、不受约束,不依赖于任何已有的图(plot/mappable)。这里使用的是mpl.colorbar.ColorbarBase类,而colorbar类必须依赖于已有的图。
  关于该类的参数如下 (该类参数描述没找到,部分参数的取值可参考colorbar中的描述):

class matplotlib.colorbar.ColorbarBase(ax, cmap=None, norm=None, alpha=None, values=None, boundaries=None, orientation=‘vertical’, ticklocation=‘auto’, extend=‘neither’, spacing=‘uniform’, ticks=None, format=None, drawedges=False, filled=True, extendfrac=None, extendrect=False, label=’’)[source]
参数简单描述

ax :可用于设置colorbar的位置、长、宽
norm :用于规范化–设置颜色条最大最小值
cmap:颜色(可参考本篇博文的最后部分——推荐色带与自定义色带)
boundaries:要想使用extend,在norm之外,必须要有两个额外的boundaries
orientation:colorbar方向,躺平or垂直
extend:延伸方向(在norm之外colorbar可延伸)
ticks:自定义各段的tick(记号)

下面是一个例子,可以自己试试调整各项参数:

import numpy as np
import pylab as plt
import matplotlib as mplif __name__ == '__main__':fig = plt.figure(figsize=(3, 8))cmap = mpl.cm.Spectral_rax3 = fig.add_axes([0.3, 0.2, 0.2, 0.5]) # 四个参数分别是左、下、宽、长norm = mpl.colors.Normalize(vmin=1.3, vmax=2.5)bounds = [ round(elem, 2) for elem in np.linspace(1.3, 2.5, 14)] # cb3 = mpl.colorbar.ColorbarBase(ax3, cmap=cmap,norm=norm,# to use 'extend', you must# specify two extra boundaries:boundaries= [1.2] + bounds + [2.6],extend='both',ticks=bounds,  # optionalspacing='proportional',orientation='vertical')plt.show()

contourf函数

  contour和contourf分别绘制轮廓线和填充轮廓线。两个版本的函数签名和返回值是相同的。关于两者画图的一些实例可以参阅python matplotlib contour画等高线图,以及matplotlib中文文档

    contourf([X, Y,] Z, [levels], **kwargs) # [ ]表示该参数是可选的——可以给定也可以不给定

contourf中的基本参数:

X, Y : array-like, optional

  contourf参数中X和Y都必须是二维的,形状与Z相同(例如,通过numpy.meshgrid创建);或者都必须是一维的,这样len(X) == M是Z中的列数,len(Y) == N是Z中的行数。
  如果没有给定,则假设它们是整数索引,即X = range(M), Y = range(N)。

Z : array-like(N, M)

绘制轮廓线的高度值。

levels : int or array-like, optional

确定等高线/区域的数量和位置。
如果是int n,则使用n个数据间隔;即画n+1条等高线。水平高度是自动选择的。
如果类似数组,则在指定的级别上绘制等高线。这些值必须是递增的。


为所有子图添加一个色带

参考:Matplotlib 2 Subplots, 1 Colorbar
在有图的情况下,为所有子图添加一个colorbar:

import numpy as np
import matplotlib.pyplot as pltfig, axes = plt.subplots(nrows=2, ncols=2)
for ax in axes.flat:im = ax.imshow(np.random.random((10,10)), vmin=0, vmax=1)fig.subplots_adjust(right=0.8)
cbar_ax = fig.add_axes([0.85, 0.15, 0.05, 0.7])
fig.colorbar(im, cax=cbar_ax)plt.show()

推荐色带与自定义色带

  在画图的时候,可以用推荐色带。在Contourf 与记录颜色刻度中,发现contourf中有cmap参数,cmap即是色带。cmap的值可以参考Colormap reference。
  下面这段代码来自Contourf 与记录颜色刻度

cs = ax.contourf(X, Y, z, locator=ticker.LogLocator(), cmap=cm.PuBu_r) # PuBu_r是PuBu色带的倒转
cbar = fig.colorbar(cs)

  其中cmap就是使用matplotlib提供的色带,如果要自己制定色带可以用参数colors如下:

# Colors是一些自选颜色列表
Colors=('#DDDDFF','#7D7DFF','#0000C6','#000079','#CEFFCE','#28FF28','#007500','#FFFF93','#8C8C00','#FFB5B5','#FF0000','#CE0000','#750000')
cs=m.contourf(xi, yi, z, colors=Colors, levels=levels, extend='both')  # 这里m是一个basemap实例

  在cmap中提供了一些默认色带:






python matplotlib自定义colorbar颜色条-以及matplotlib中的内置色条相关推荐

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

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

  2. python fig.colorbar_python3 matplotlib自定义colorbar颜色条

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

  3. R语言ggpubr包ggsummarystats函数可视化分组条形图(自定义分组颜色、添加抖动数据点jitter、误差条)并在X轴标签下方添加分组对应的统计值(样本数N、中位数、四分位数的间距iqr)

    R语言ggpubr包ggsummarystats函数可视化分组条形图(自定义分组颜色.添加抖动数据点jitter.误差条error bar)并在X轴标签下方添加分组对应的统计值(样本数N.中位数med ...

  4. python编写自定义函数计算一维numpy数组中与指定目标数值最接近(距离最近)的数值(find closest value in numpy array to a certain value)

    python编写自定义函数计算一维numpy数组中与指定目标数值最接近(距离最近)的数值(find closest value in numpy array to a certain value) 目 ...

  5. python中divmod_python内置函数 divmod()

    先来看一下builtins.py中的代码: def divmod(x, y): # known case of builtins.divmod """ Return th ...

  6. python内置函数range(a、b、s)的作用_python中,内置函数range(a,b,s)的作用是产生一个整数序列,从a到b....

    python中,内置函数range(a,b,s)的作用是产生一个整数序列,从a到b. 答:错 在生物性污染中范围最广.危害最大的污染是微生物的污染.(?) 答:对 中国大学MOOC: Which of ...

  7. python中比较重要的几个函数_Python 几个重要的内置函数 python中的内置函数和关键字需要背过吗...

    python重要的几个内置函数用法 python内置函数什么用忘不掉的是回忆,继续的是生活,错过的,就当是路过吧.来来往往身边出现很多人,总有一个位置,一直没有变.看看温暖的阳光,偶尔还是会想一想. ...

  8. python nums函数_Python中的内置函数

    Python中有很多内置函数,不需要我们调用模块可以直接使用,而且都是常用函数的封装,下面我们来看看Python中的内置函数都有那些. 1.abs() abs()是绝对值函数,把一个负数转化为正数,数 ...

  9. python中字符串函数的用法_python中字符串内置函数的用法介绍(代码)

    本篇文章给大家带来的内容是关于python中字符串内置函数的用法介绍(代码) ,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. capitalize() 首字母大写a='somewor ...

最新文章

  1. 吸水间最低动水位标高_水库水位库容监测系统方案
  2. Android Stuido启动提示No JVM installation found.Please install a 32-bit JDK....
  3. 前端一HTML:十八:元素的显示方式
  4. WebKit 内核源码分析 (五)
  5. 【C语言】在有序数组中插入一个数,保证它依然有序
  6. 【内部资源】这份Java全能手册在字节传疯了!
  7. MaxCompute平台非标准日期和气象数据处理方法--以电力AI赛为例
  8. Android 获取手机号及运营商信息
  9. 2019年老电脑E5450+硬改775 无故死机故障排除记录
  10. cat3 utp是不是网线_CAT网线知识
  11. 12.学习Camera之——android binder 机制架构
  12. LabWindows操作Excel
  13. matlab中plotyy设置曲线颜色,matlab plotyy 颜色
  14. 兜兜转转,华为与李一男终于在汽车行业重逢,两者将展开决战?
  15. 微信手机端调试工具-微信Web开发者工具使用教程
  16. git 调换提交顺序
  17. 完全用GNU/Linux工作,摈弃Windows---你我共勉
  18. 捏脸代码大全v1.0hp精英
  19. kafka系列4:消息幂等性
  20. es 聚合查询 java api_javaAPI操作ES分组聚合

热门文章

  1. 如何区分一个股票属于哪个证券交易所的,如何区分一个股票是上证指数还是深圳指数?
  2. 公司KPI考核代码行数,程序员神操作:10行变500行!
  3. Column ‘createTime’ cannot be null,could not execute statement; SQL [n/a]; constraint [null]; nested
  4. PYTHON学习笔记---函数
  5. 淘宝API-物流发货接口
  6. 印度尼西亚通过加密货币期货交易规则
  7. 100个python算法超详细讲解:求出符合要求的素数
  8. 关于MAX3232ESE+T的过热问题
  9. 在OpenCV里实现内旋轮线
  10. 一文了解Jeff Bezos,电商与公有云的“世界首富”