Seaborn颜色条的移动标签

时间:2018-09-06 13:40:32

标签: python matplotlib seaborn

我有一个带有标签的色条的海洋热图,使用:

seaborn.heatmap(df, cbar_kws = {'label': 'Label for colour bar axis'})

,但色条的标签与其刻度标签重叠。有没有办法像正常的matplotlib图的“ padding”选项那样,将标签重新定位在刻度之外(在我的情况下,在右侧)?

1 个答案:

答案 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()

enter image description here