如何为 seaborn 热图中的蒙面单元分配自定义颜色?

How to assign custom color to masked cells in seaborn heatmap?

我有一个值为 -4 到 4 和一些 nan 值的数据集。我使用 seaborn 热图绘制热图。我需要使用的颜色图是从红色到白色再到蓝色。我的问题是被屏蔽的单元格也是 white/greyish,这很难区分然后颜色图中接近 0 的值。

有没有办法在不绘制两次热图的情况下将 nan 值指定为黑色?

你有两个选择。

  1. 使用颜色图的 bad 值。 IE。如果屏蔽值设置为 nan,它们将显示在通过

    设置为颜色图的颜色中
    colormap.set_bad("black") 
    
  2. 将坐标轴的背景设置为黑色,这样被屏蔽因此未绘制的值显示为透明,背景颜色可以看穿,

    ax.set_facecolor("black")