2015-11-25 22 views
6

Planuję mapę termiczną w Pythonie z pakietem seaborn. Wartości, które wykreślam, są dyskretne, są liczbami całkowitymi -1,i .Wartość mapy do określonego koloru mapy termicznej seaborn

Chciałbym, aby komórki w mapie termicznej o wartości -1 były zielone, o 0 żółte, a 1 czerwone.

Czy jest możliwe określenie tego orzeczenia w funkcjach cubehelix_palette() lub colour_palette()?

Odpowiedz

11

Można użyć matplotlib na ListedColormap następująco:

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) 

co daje:

enter image description here

Można wymienić struny 'green', 'yellow', 'red' z hexcolors takich jak '#FF0000' (odpowiednik 'red') lub kolorów RGB taki jak (1.,0.,0.) (również równoważny 'red').

+0

Doskonale, dziękuję – jma1991