更改Seaborn热图中缺失值的颜色

时间:2018-09-19 07:02:21

标签: python matplotlib seaborn

考虑一下Seaborn documentation中缺少值的示例:

corr = np.corrcoef(np.random.randn(10, 200))
mask = np.zeros_like(corr)
mask[np.triu_indices_from(mask)] = True
sns.heatmap(corr, mask=mask, vmax=.3, square=True)

Heatmap

如何将缺失值的颜色更改为例如黑色?缺失值的颜色应独立于热图的颜色方案进行指定,在颜色方案中可能不存在。

我尝试添加facecolor = 'black',但是没有用。颜色可能会受到例如sns.axes_style("white"),但我不清楚如何将其用于设置任意颜色。

2 个答案:

答案 0 :(得分:4)

您可以使用以下代码:

corr = np.corrcoef(np.random.randn(10, 200))
mask = np.zeros_like(corr)
mask[np.triu_indices_from(mask)] = True
g = sns.heatmap(corr, mask=mask, vmax=.3, square=True)
g.set_facecolor('xkcd:salmon')

您需要在绘图对象上使用set_facecolor。更改为所需的任何颜色。

此图的结果:

enter image description here

答案 1 :(得分:0)

另一种选择是使用sns.set_style()在seaborn中设置活动样式参数:

flask-sqlalchemy

完整的参数列表可以在这里找到:https://seaborn.pydata.org/tutorial/aesthetics.html#overriding-elements-of-the-seaborn-styles