如何将seaborn调色板转换为cmap?

时间:2018-05-04 17:53:40

标签: python matplotlib heatmap seaborn colormap

我想将seaborn中的连续分歧调色板“RdBu_r”(或实际上,任何预定义的调色板)转换为matplotlib色彩映射。

这是我最接近的,但它会创建一个离散的颜色贴图,而我想要一个连续的贴图:

<body>
  <link rel="stylesheet" type="html" href="my-html-file.html">
</body>

最终,我正在尝试使用“RdBu_r”调色板创建一个seaborn热图,其中空值填充为黑色方块,这就是我尝试使用set_bad(color ='black')创建cmap的原因,而不是仅仅将“RdBu_r”传递给sns.heatmap的cmap参数。

谢谢你们。

1 个答案:

答案 0 :(得分:1)

"RdBu_r"是一个matplotlib色彩映射。因此,似乎没有理由首先将其转换为颜色列表。相反,只需使用就可以了。

import matplotlib.pyplot as plt
import seaborn as sns

cmap = plt.get_cmap("RdBu_r")
cmap.set_bad(color='black', alpha=0.5)

sns.heatmap(data, cmap=cmap)