2012-10-15 47 views
4

我生成與此代碼的水平彩條:代替彩條標籤上方水平彩條(而不是下文)

cbaxes = fig.add_axes([0.05, 0.15, 0.9, 0.025]) # setup colorbar axes. 
cb = fig.colorbar(cax=cbaxes, mappable=mappable, orientation='horizontal',) 
cb.set_label(r"$[10^{14}\ molec\,cm^{-2}]$", fontname='Arial', fontsize='small') 
cbytick_obj = plt.getp(cb.ax.axes, 'xticklabels') 
plt.setp(cbytick_obj, color='r', fontsize='x-small') 
cb.ax.set_yticks(arange(vmin, vmax, 2), size='small') 

然而,我希望標籤的顏色條(而不是下文)上述被打印。我怎樣才能做到這一點?

回答

4

下面是我做到的。關鍵似乎是叫彩條的軸set_xlabel方法代替: cb.ax.tick_params(軸=:

cbaxes = fig.add_axes([0.05, 0.05, 0.9, 0.025]) 
cb = fig.colorbar(cax=cbaxes, mappable=mappable, orientation='horizontal') 
cbaxes.set_xlabel(r"$[10^{14}\ molec\,cm^{-2}]$", fontname='Arial', 
      fontsize='small', labelpad=-35) 
cb.set_ticks(arange(vmin, vmax + 1, 2)) 
cbytick_obj = plt.getp(cb.ax.axes, 'xticklabels') 
plt.setp(cbytick_obj, fontsize='x-small') 
3

你也可以使用‘上X’,方向=‘中’,labeltop =' ')

還有很多可以在那裏設置的其他參數。

5

你可以嘗試使用下面的代碼:

cb.ax.xaxis.set_ticks_position('top') 
cb.ax.xaxis.set_label_position('top')