2015-11-16 61 views
10

デフォルトでは、matplotlibは、垂直カラーバーの横にカラーバーラベルを配置します。ラベルをカラーバーの上に置くのに最適な方法は何ですか?これを行うには良い、より一般的な方法はありmatplotlibカラーバーのトップラベル

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

:現在、私の解決策は、ラベルのサイズに応じてlabelpady値を調整する必要がありますか?

答えて

16

label(長軸に沿って表示)ではなく、カラーバー軸(軸の上に表示される)のtitleを設定できます。カラーバーのAxesにアクセスするには、clb.axを使用します。他のAxesインスタンスと同じ方法で、set_titleを使用することができます。例えば

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

関連する問題