我有一个带有标签的色条的海洋热图,使用:
seaborn.heatmap(df, cbar_kws = {'label': 'Label for colour bar axis'})
,但色条的标签与其刻度标签重叠。有没有办法像正常的matplotlib图的“ padding”选项那样,将标签重新定位在刻度之外(在我的情况下,在右侧)?
答案 0 :(得分:2)
很遗憾,cbar_kws
不接受labelpad
参数。因此,向标签添加一些填充的一种方法是在绘制颜色条后对其进行访问。
您可以使用ax.collections[0].colorbar
来访问matplotlib.colorbar.Colorbar
对象。然后,您可以像通常使用matplotlib一样使用colobar。因此,您可以使用set_label()
设置颜色条标签,并可以使用labelpad=
参数:
import seaborn as sns
uniform_data = np.random.rand(10, 12) # random data
ax = sns.heatmap(uniform_data)
cbar = ax.collections[0].colorbar
cbar.set_label('Label for colour bar axis', labelpad=40)
plt.show()