2011-12-02 32 views
1

enter image description hereカスタマイズmatplotlibののカラーバー

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

私はどちらかたい(ヒートマップに類似)matplotlibの を使用してプロットした。

1)Iは、リストに定義された色を使用して凡例を作りますまたは
2)Rの効果として美しいものを作成するためにmatplotlibでそれを自動化する方法はありますか? 通常の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

関連する問題