将值映射到seaborn heatmap中的特定颜色

时间:2015-11-25 14:16:35

标签: python heatmap seaborn

我正在使用seaborn包在Python中绘制热图。我绘制的值是离散的,它们是整数-101

我希望热图中的值为-1的单元格显示绿色,0显示为黄色,1为红色。

是否可以在cubehelix_palette()colour_palette()函数中指定此裁定?

1 个答案:

答案 0 :(得分:13)

您可以使用matplotlib的ListedColormap,如下所示:

import numpy as np
import seaborn as sns
from matplotlib.colors import ListedColormap

data = np.random.randint(-1, 2, (10,10)) # Random [-1, 0, 1] data
sns.heatmap(data, cmap=ListedColormap(['green', 'yellow', 'red']), annot=True)

产生:

enter image description here

您可以使用'green', 'yellow', 'red'(相当于'#FF0000')或rgb颜色(例如'red'(也等同于(1.,0.,0.))等十六进制替换字符串'red' )。