colorbar单位不会出现在图中(matplotlib)

时间:2016-09-30 04:10:02

标签: python matplotlib

我尝试执行下图,但不显示颜色条下方的单位。仅当我使图形的宽度和高度非常大时才会出现这些单位。

这是我用于插入自定义颜色栏的代码:

from mpl_toolkits.axes_grid.axes_grid import AxesGrid
from mpl_toolkits.axes_grid.anchored_artists import AnchoredText
def add_at(ax, t, loc=1):
    fp = dict(size=16, weight='bold')
    _at = AnchoredText(t, loc=loc, prop=fp)
    ax.add_artist(_at)
return _at

现在我制作数字

fig = plt.figure(figsize = (12, 5))
axs1 = plt.subplot2grid((2,2), (0,0))

im = m.contourf(x, y, var,levels=np.arange(vmin, vmax, delta))

最后我添加了colorbar

cax = fig.add_axes([0.42, 0.05, 0.25, 0.03]) 
cbar = fig.colorbar(im, cax, orientation='horizontal')
cbar.ax.tick_params(labelsize=12) 
cbar.set_label('units', size=16, weight='bold')

最后我保存了数字

fig.savefig('name.png', dpi=300)

但是我看到这个带有颜色条的图,但单位不显示空间不足。我尝试调整图形的宽度和高度,但它不起作用,除非我做了一个巨大的数字,但后来子插槽之间的间距是错误的。

这是数字:

link

1 个答案:

答案 0 :(得分:0)

set_xticklabels可能有所帮助。检查一下: http://matplotlib.org/examples/pylab_examples/colorbar_tick_labelling_demo.html

相关问题