Python matplotlib 减小颜色条标签的大小
问题描述
我需要你的帮助!我有一个绘图代码,如下所示:
I need your help! I have a plotting code which is the following:
fig = plt.figure()
ax1 = fig.add_subplot(111)
imax1 = ax1.imshow(data,interpolation = 'nearest', origin = 'lower',cmap=cm.jet)#plot
cbar = plt.colorbar(imax1, extend='neither', spacing='proportional',
orientation='vertical', shrink=0.7, format="%.0f")
cbar.set_label(r"ET [mm/month]", size=10)
titlestr = "Evapotranspiration in mm/month"
plt.title(titlestr)
#plt.xlabel("Longitude")
#plt.ylabel("Latitude")
imax1.set_clim(0,60)
labels = [item.get_text() for item in ax1.get_xticklabels()]
for ii in range(np.shape(labels)[0]):
labels[ii] = str(grid_lon[75*ii/np.shape(labels)[0]])
ax1.set_xticklabels(labels, rotation = 45, ha='right', size = 10)
labels = [item.get_text() for item in ax1.get_yticklabels()]
for ii in range(np.shape(labels)[0]):
labels[ii] = str(grid_lat[75*ii/np.shape(labels)[0]])
ax1.set_yticklabels(labels, size = 10)
pngname = "./out/2d_"+variable+"_"+mm+".png"
print "save ", pngname
plt.savefig(pngname, dpi=None, facecolor='w', edgecolor='w',
orientation='portrait', papertype=None, format=None,
transparent=False, bbox_inches=None, pad_inches=0.1)
print "plot finished"
我想将颜色条标签的标签大小(例如 0、10、20、...60)设置为 10 或更小.这可能会进入imax1.set_clim(0,60) 行.有什么想法吗?我也有兴趣将 imax1 对象的信息打印到命令行.我该怎么做?例如 imax1 的可用属性和功能.
I would like to set the label size of the colorbar labels (e.g. 0,10,20,...60) to size of 10 or smaller. This will probably go into the line "imax1.set_clim(0,60). Any ideas? I'd be also interested to print information of the imax1 object to command line. How could I do that? E.g. available attributes and functions of imax1.
非常感谢您的帮助!
解决方案
啊哈!这里找到了答案:
cbar.ax.tick_params(labelsize=10)
附:支持那个回答并给保罗一些爱!
P.S. Upvote that answer and give Paul some love!
相关文章