2011-12-02 75 views
1

enter image description here定製matplotlib彩條

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

我做了使用matplotlib(類似於熱圖) 我想任何一個情節:用我的列表中定義的顏色

1)做一個傳說或者
2)有沒有在matplotlib中自動化它以創建和R中的效果一樣美麗? 正常matplotlib顏色漸變過於「尖銳」看...

謝謝!使用

+0

你看的[其他色彩映射表(http://www.scipy.org/Cookbook/Matplotlib/Show_colormaps) - 它似乎像「夏天」接近你使用的,白色是空值。 – 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