2014-12-20 4 views
2

Как я могу указать цвета в тепловой карте. В этом примере, данные однозначно один из 4 значений {0,1,2,3}Настройка цветов в matplotlib - heatmap

Index= ['aaa', 'bbb', 'ccc', 'ddd', 'eee'] 
Cols = ['A', 'B', 'C', 'D'] 

data= [[ 0, 3, 1, 1],[ 0, 1, 1, 1],[ 0, 1, 2, 1],[ 0, 2, 1, 2],[ 0, 1, 1, 1]] 
print data 
df = pd.DataFrame(data, index=Index, columns=Cols) 
heatmap = plt.pcolor(np.array(data)) 
plt.colorbar(heatmap) 
plt.show() 

Как specifiy этих цветов таким образом, чтобы представлять цвета = {0: «зеленый», 1: «красный», 2: 'черный', 3: 'желтого'}

+0

Как вы сейчас рисуете свои данные? Какую функцию вы используете? Можете ли вы добавить код? – Ffisegydd

+0

Спасибо! @Ffisegydd Я использую pcolor для создания тепловой карты. Код обновлен! – user3378649

+0

Это похоже на этот вопрос http://stackoverflow.com/questions/27229152/pcolor-plot-force-color-limits – user3378649

ответ

4

Создание пользовательских Colormap и установить клещи для вашего целого

from matplotlib import colors 
cmap = colors.ListedColormap(['green','red','black','yellow']) 
bounds=[-0.5, 0.5, 1.5, 2.5, 3.5] 
norm = colors.BoundaryNorm(bounds, cmap.N) 
heatmap = plt.pcolor(np.array(data), cmap=cmap, norm=norm) 
plt.colorbar(heatmap, ticks=[0, 1, 2, 3]) 

Является ли это то, что вы хотите? Обратите внимание, что ваши data отображаются «вверх ногами».
listed colormap

Смежные вопросы