python-如何添加Matplotlib Colorbar刻度
作者:互联网
关于堆栈溢出有很多matplotlib colorbar问题,但是为了解决我的问题,我无法理解它们.
如何在颜色栏上设置yticklabel?
这是一些示例代码:
from pylab import *
from matplotlib.colors import LogNorm
import matplotlib.pyplot as plt
f = np.arange(0,101) # frequency
t = np.arange(11,245) # time
z = 20*np.sin(f**0.56)+22 # function
z = np.reshape(z,(1,max(f.shape))) # reshape the function
Z = z*np.ones((max(t.shape),1)) # make the single vector to a mxn matrix
T, F = meshgrid(f,t)
fig = plt.figure()
ax = fig.add_subplot(111)
plt.pcolor(F,T,Z, norm=LogNorm(vmin=z.min(),vmax=z.max()))
plt.xlim((t.min(),t.max()))
mn=int(np.floor(Z.min())) # colorbar min value
mx=int(np.ceil(Z.max())) # colorbar max value
md=(mx-mn)/2 # colorbar midpoint value
cbar=plt.colorbar() # the mystery step ???????????
cbar.set_yticklabels([mn,md,mx]) # add the labels
plt.show()
解决方法:
更新刻度和刻度标签:
cbar.set_ticks([mn,md,mx])
cbar.set_ticklabels([mn,md,mx])
标签:colorbar,python,matplotlib 来源: https://codeday.me/bug/20191010/1886731.html