Значение карты для конкретного цвета в Seaborn heatmap
Я строю тепловую карту в Python с пакетом seaborn. Значения, которые я строю, дискретны, они являются целыми числами -1
, 0
и 1
.
Я хотел бы, чтобы ячейки в тепловой карте со значением -1
показать зеленый, с 0
как желтый и 1
красный.
можно ли указать это постановление в cubehelix_palette()
или colour_palette()
функции?
1 ответов
вы можете использовать библиотек 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)
что дает:
вы можете заменить строки 'green', 'yellow', 'red'
С hexcolors, такие как '#FF0000'
(эквивалент 'red'
) или RGB цвета, такие как (1.,0.,0.)
(эквивалентно 'red'
).