本文介绍了Python中matplotlib减少彩条标签的大小的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要你的帮助!我有一个密谋code是以下内容:

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.

我深深AP preciate您的帮助!

I deeply appreciate your help!

推荐答案

啊哈!找到答案:

cbar.ax.tick_params(labelsize=10)

P.S。给予好评回答,并给保罗一些爱!

P.S. Upvote that answer and give Paul some love!

这篇关于Python中matplotlib减少彩条标签的大小的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-14 21:43