Matplotlib 将颜色条标签放置在水平颜色条上方(而不是下方)

Matplotlib 将颜色条标签放置在水平颜色条上方(而不是下方),matplotlib,Matplotlib,我正在使用以下代码生成一个水平色条: 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') cby

我正在使用以下代码生成一个水平色条:

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')

但是,我希望标签打印在色条上方(而不是下方)。我该怎么做呢?

以下是我是怎么做的。关键似乎是调用颜色条的轴“
set\u xlabel
方法:

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')
您还可以使用: cb.ax.勾选参数(轴为x,方向为in,标签为on)


还可以在那里设置大量其他参数。

您可以尝试使用以下代码:

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