2014-12-20 1 views
2

히트 맵에서 색상을 지정하는 방법. 이 예에서 , 데이터가 하나 4의 값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() 

{0,1,2,3} 내가 색상을 표현하는 방법으로 그 색상을에서 지정할 수있는 방법 유일하다 = {0 : '녹색', 1 : '빨간색', 2 : '블랙', 3 : '노란색'}

+0

현재 데이터를 플로팅하는 방법은 무엇입니까? 어떤 기능을 사용하고 있습니까? 코드를 추가 할 수 있습니까? – Ffisegydd

+0

고마워! @Fisisegydd 나는 히트 맵을 만들기 위해 pcolor를 사용합니다. 코드가 업데이트되었습니다! – user3378649

+0

이 질문과 유사합니다. http://stackoverflow.com/questions/27229152/pcolor-plot-force-color-limits – user3378649

답변

4

사용자 정의 색상 맵을 생성하고 설정은

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