Python / Matplotlib colorbar-ticklabel distance

时间:2015-07-18 09:00:28

标签: python matplotlib

有没有人知道如何在Python / Matplotlib中更改colorbar ticklabels相对于colorbar的距离?谢谢!

所以例如,在这里我想将0,0.5和1.0相对于颜色条向左或向右移动:

enter image description here

1 个答案:

答案 0 :(得分:6)

借用standalone colourbars example,显示如何

  • 更改刻度线之间的间距(只需手动指定)

  • 将刻度标签的距离更改为颜色栏。这里的技巧是获取相关轴(cb1.ax)并应用正确的刻度参数(pad=...)。

from matplotlib import pyplot
import matplotlib as mpl
fig = pyplot.figure(figsize=(8,3))
ax1 = fig.add_axes([0.05, 0.70, 0.9, 0.15])
ax2 = fig.add_axes([0.05, 0.35, 0.9, 0.15])
cmap = mpl.cm.cool
norm = mpl.colors.Normalize(vmin=5, vmax=10)
cb1 = mpl.colorbar.ColorbarBase(ax1, cmap=cmap, norm=norm,
                                orientation='horizontal')
cb1.set_label('Negative spacing')
cb1.set_ticks([5.5, 7.5, 9.5])
cb1.ax.xaxis.set_tick_params(pad=-15)
cb2 = mpl.colorbar.ColorbarBase(ax2, cmap=cmap, norm=norm,
                            orientation='horizontal')
cb2.set_label('Far away')
cb2.set_ticks([5.5, 7.5, 9.5])
cb2.ax.xaxis.set_tick_params(pad=30)
pyplot.savefig('colorbar-ticklabels.png')

enter image description here