有没有人知道如何在Python / Matplotlib中更改colorbar ticklabels相对于colorbar的距离?谢谢!
所以例如,在这里我想将0,0.5和1.0相对于颜色条向左或向右移动:
答案 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')