2013-02-20 146 views
0

從我的所有其他惱人難以理解的帖子 繼我有一個列表:彩條matplotlib顏色以藍色

[0,1,4,3,2,4,2,1,0] 

我希望他們每個人都使用

cmap = mpl.colors.ListedColormap([[1,0,0],[0,0,1],[0,1,0],[1,1,0],[0,1,1]]) 
顏色

將使我的顏色爲紅色,藍色綠色黃色和淡藍色。

我想要的是顏色從紅色開始,以藍色結束,其他顏色在這些顏色之間。

我可能能夠以同樣的方式做到這一點,但我猜測會有更好的方法,然後使用某種方程?

+1

做這些幫助呢? http://matplotlib.org/examples/pylab_examples/show_colormaps.html – mgilson 2013-02-20 13:24:59

+0

您需要使用LinearSegmentedColormap而不是ListedColorMap。 – 2013-02-20 14:27:57

+0

您可以在此處看到使用LinearSegmentedColormap的示例:http://stackoverflow.com/questions/9893440/python-matplotlib-colormap或http://www.scipy.org/Cookbook/Matplotlib/Show_colormaps。文檔:http://matplotlib.org/api/colors_api.html#matplotlib.colors.LinearSegmentedColormap – joris 2013-02-20 18:54:57

回答

0

你可以僞造它。假設你想要紅色的前三分之一,下一個藍色,下一個綠色。

您需要在數據中創建3個單獨的行。 您需要三條線,看起來像:

[0,1,4,None,None,None,None,None,None] 
[None,None,None,3,2,4,None,None,None] 
[None,None,None,None,None,None,2,1,0] 

的線條與諾內斯填充,以使它看起來像matplotlib是絡繹不絕繪製。然後你繪製每一行,並告訴matplotlib你想要什麼顏色