2013-03-09 29 views
36

Yardımınıza ihtiyacım var! Aşağıdaki bir çizim kodu vardır:Python matplotlib colorbar etiketlerinin boyutunu azaltın

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" 

10'da ya da daha küçük bir boyuta Colorbar etiketler (örneğin, 0,10,20, ... 60) etiket boyutunu ayarlamak istiyoruz. Bu muhtemelen "imax1.set_clim (0,60) satırına girecek. Herhangi bir fikir? Ben de imax1 nesnesinin komut satırına bilgi yazdırmak istiyorum. Bunu nasıl yapabilirim? Örneğin mevcut imax1 öznitelikleri ve işlevleri .

derinden yardımlarınız için teşekkür ederiz

+0

Kısmi cevap: 'baskı dir (imax1) size bilgi verecek g kullanılabilirlik öznitelikleri ve işlevleri 'imax1'. – crayzeewulf

+0

harika teşekkürler, alt olanı uyguladım. – user1113953

cevap

114

Aha cevap here Bulunan:!!!

cbar.ax.tick_params(labelsize=10) 

PS Oyla that cevap ve Paul'e biraz sevgi vermek

+1

Paul, sarılmalar :) Problem çözüldü! – user1113953