Python matplotlib减小了彩条标签的大小

时间:2013-03-09 00:36:12

标签: python attributes matplotlib labels colorbar

我需要你的帮助!我有一个绘图代码如下:

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的可用属性和函数

我非常感谢你的帮助!

2 个答案:

答案 0 :(得分:150)

啊哈!找到了答案here

cbar.ax.tick_params(labelsize=10) 

P.S。 Upvote that回答并给予Paul一些爱!

答案 1 :(得分:0)

如果您是因为试图增加字体大小而在这里,但是由于上述答案,某些数字由于字体过大而消失了,您可以这样做

cbar = plt.colorbar()
for t in cbar.ax.get_yticklabels():
     t.set_fontsize(20)