2015-11-16 15 views
10

Varsayılan olarak matplotlib, dikey renk çubuklarının yanında colorbar etiketlerini konumlandıracaktır. Etiketi bir renk çubuğunun üstünde olmaya zorlamanın en iyi yolu nedir?Matplotlib colorbars için üst etiket

import numpy as np 
import matplotlib.pylab as plt 

dat = np.random.randn(10,10) 
plt.imshow(dat, interpolation='none') 

clb = plt.colorbar() 
clb.set_label('label', labelpad=-40, y=1.05, rotation=0) 

plt.show() 

colorbar top label

Bunu yapmak için daha iyi, daha genel bir yolu var mı: Şu anda benim çözüm ihtiyaçları etiketin boyutuna bağlı labelpad ve y değerleri ayarlayarak?

cevap

16

label (uzun eksen boyunca görünen) yerine, colorbar ekseninin title değerini (eksen üzerinde görünen) ayarlayabilirsiniz. Colorbar'ın Axes'a erişmek için clb.ax'u kullanabilirsiniz. Daha sonra, diğer Axes örneğinde olduğu gibi set_title'u da kullanabilirsiniz.

import numpy as np 
import matplotlib.pylab as plt 

dat = np.random.randn(10,10) 
plt.imshow(dat, interpolation='none') 

clb = plt.colorbar() 
clb.ax.set_title('This is a title') 

plt.show() 

enter image description here

: Örneğin