Python三维绘图--Matplotlib colorbar生成


Matplotlib 使用colorbar来设置色阶条:

colorbar(**kwargs) 
colorbar(mappable, **kwargs)
colorbar(mappable, cax=cax, **kwargs)
colorbar(mappable, ax=ax, **kwargs)   #需要制定颜色样式图,所要画色阶条的轴
#ref:https://matplotlib.org/gallery/color/colorbar_basics.html#sphx-glr-gallery-color-colorbar-basics-py

下面是一个例子:

import numpy as np
import matplotlib.pyplot as plt

#生成绘图数据
N = 100
x, y = np.mgrid[:100, :100]
Z = np.cos(x*0.05+np.random.rand()) + np.sin(y*0.05+np.random.rand())+2*np.random.rand()-1

# mask out the negative and positive values, respectively
Zpos = np.ma.masked_less(Z, 0)   #小于零的部分
Zneg = np.ma.masked_greater(Z, 0)  #大于零的部分

fig, (ax1, ax2, ax3) = plt.subplots(figsize=(13, 3), ncols=3)

pos = ax1.imshow(Zpos, cmap='Reds', interpolation='none')
fig.colorbar(pos, ax=ax1)  #这里使用colorbar来制定需要画颜色棒的图的轴,以及对应的cmap,与pos对应

neg = ax2.imshow(Zneg, cmap='Blues_r', interpolation='none')
fig.colorbar(neg, ax=ax2)

pos_neg_clipped = ax3.imshow(Z, cmap='jet', vmin=-2, vmax=2,interpolation='none')  #-2,2的区间
fig.colorbar(pos_neg_clipped, ax=ax3)
plt.show()

#ref:
#    https://matplotlib.org/api/_as_gen/matplotlib.figure.Figure.html#matplotlib.figure.Figure.colorbar
#    https://matplotlib.org/gallery/color/colorbar_basics.html#sphx-glr-gallery-color-colorbar-basics-py

Python三维绘图--Matplotlib colorbar生成_第1张图片

你可能感兴趣的:(视觉,编程,机器学习,计算机视觉)