2015-06-04 28 views
0

我想減少不同彩條的標籤大小。 目前我得到的照片,你可以看到下面。我嘗試在plt.colorbar一個 「labelsize」,但它不工作Python - 彩條的標籤大小

enter image description here

我的代碼是:

plt.close() 

fig, axes = plt.subplots(nrows=1, ncols=3) 

plt.tight_layout(pad=0.05, w_pad=0.001, h_pad=2.0) 
ax1 = plt.subplot(131) # creates first axis 
ax1.set_xticks([0,2000,500,1000,1500]) 
ax1.set_yticks([0,2000,500,1000,1500]) 
ax1.tick_params(labelsize=8) 
i1 = ax1.imshow(U,cmap='hot',extent=(X.min(),2000,Y.min(),2000)) 

plt.colorbar(i1,ax=ax1,ticks=[U.min(),(U.min()+U.max())/2., U.max()],fraction=0.046, pad=0.04,format='%.2f') 


ax1.set_title("$ \mathrm{Ux_{mes} \/ (pix)}$", y=1.05, fontsize=12) 
ax2 = plt.subplot(132) # creates second axis 
ax2.set_xticks([0,2000,500,1000,1500]) 
ax2.set_yticks([0,2000,500,1000,1500]) 
i2=ax2.imshow(UU,cmap='hot',extent=(X.min(),2000,Y.min(),2000)) 
ax2.set_title("$\mathrm{Ux_{cal} \/ (pix)}$", y=1.05, fontsize=12) 
ax2.set_xticklabels([]) 
ax2.set_yticklabels([]) 
plt.colorbar(i2,ax=ax2,fraction=0.046, pad=0.04,ticks=[UU.min(),(UU.min()+UU.max())/2.,UU.max()],format='%.2f') 


ax3 = plt.subplot(133) # creates first axis 
ax3.set_xticks([0,2000,500,1000,1500]) 
ax3.set_yticks([0,2000,500,1000,1500]) 
i3 = ax3.imshow(resU,cmap='hot',extent=(X.min(),2000,Y.min(),2000)) 
ax3.set_title("$\mathrm{\mid Ux_{mes} - Ux_{cal} \mid \/ (pix)}$ ", y=1.05, fontsize=12) 
plt.colorbar(i3,ax=ax3,fraction=0.046, pad=0.04,ticks=[resU.min(), (resU.min()+resU.max())/2.,resU.max()],format='%.2f') 
ax3.set_xticklabels([]) 
ax3.set_yticklabels([]) 

plt.gcf().tight_layout() 

plt.savefig('test.eps', format='eps', dpi=1000, bbox_inches='tight', pad_inches=0.1) 

#plt.show() 
+0

[Python matplotlib減少了colorbar標籤的大小](http://stackoverflow.com/questions/15305737/pytho正matplotlib-下降 - 大小 - 中 - 彩條的標籤) – tom

回答

2

in this answer所示,如果你的名字你colorbars(這裏我用cb1,cb2,cb3)你可以這樣設置tick參數:

cb1=plt.colorbar(i1,ax=ax1,ticks=[U.min(),(U.min()+U.max())/2., U.max()],fraction=0.046, pad=0.04,format='%.2f') 

cb2=plt.colorbar(i2,ax=ax2,fraction=0.046, pad=0.04,ticks=[UU.min(),(UU.min()+UU.max())/2.,UU.max()],format='%.2f') 

cb3=plt.colorbar(i3,ax=ax3,fraction=0.046, pad=0.04,ticks=[resU.min(), (resU.min()+resU.max())/2.,resU.max()],format='%.2f') 

cb1.ax.tick_params(labelsize=6) 
cb2.ax.tick_params(labelsize=6) 
cb3.ax.tick_params(labelsize=6) 
相關問題