2011-12-02 3 views
1

enter image description here나는 나도 싶습니다 (히트 맵과 유사)하기 matplotlib 을 사용하여 플롯했다

colors = ['white', '#FFFFBB', '#C3FDB8', '#B5EAAA', '#64E986', '#54C571', 
      '#4AA02C','#347C17','#347235','#25383C','#254117'] 

사용자 정의하기 matplotlib의 년 Colorbar :

1) 나는이 목록에 정의 된 색상을 사용하여 전설을을 또는
2) matplotlib에서 R의 효과만큼 아름답게 만들려면 어쨌든 자동화가 필요합니까? 일반 matplotlib 색상 그라디언트가 너무 날카로운 것입니다 ...

고마워!

+0

당신이 (http://www.scipy.org/Cookbook/Matplotlib/Show_colormaps)를 [다른 색상 맵] 봤어 - 보인다 "여름"은 당신이 사용했던 것에 가깝고, 흰색은 null 값입니다. – cosmosis

답변

0

매우 간단 ListedColormap를 사용하여 :

import matplotlib.cm as cm # color map 
import matplotlib.gridspec as gridspec 
import matplotlib as mpl 
import numpy as np 

#dummy data 
hm = np.random.randint(0, 100, size=(5, 5)) 

#define colors 
cmap = mpl.colors.ListedColormap(['white', '#FFFFBB', '#C3FDB8', '#B5EAAA', '#64E986', '#54C571', 
      '#4AA02C', '#347C17', '#347235', '#25383C', '#254117']) 

#create plot frames 
gs = gridspec.GridSpec(2,2, height_ratios=[6,2], width_ratios=[20,1],) 
ax = plt.subplot(gs[0, 0]) 

#heatmap and colorbar 
im = ax.pcolor(hm, cmap=cmap) 
cbar = plt.colorbar(im, cax=plt.subplot(gs[1])) 

plt.show() 

heatmap

관련 문제