3
我使用python中的顏色映射來繪製和分析矩陣中的值。我需要將白色與每個等於0.0的元素相關聯,而對於其他元素,我希望有一個「傳統」顏色地圖。看着Python Matplotlib Colormap我修改使用令pColor作爲字典:Matplotlib python更改顏色映射中的單一顏色
dic = {'red': ((0., 1, 1),
(0.00000000001, 0, 0),
(0.66, 1, 1),
(0.89,1, 1),
(1, 0.5, 0.5)),
'green': ((0., 1, 1),
(0.00000000001, 0, 0),
(0.375,1, 1),
(0.64,1, 1),
(0.91,0,0),
(1, 0, 0)),
'blue': ((0., 1, 1),
(0.00000000001, 1, 1),
(0.34, 1, 1),
(0.65,0, 0),
(1, 0, 0))}
結果:
我設置:
matrix[0][0]=0 matrix[0][1]=0.002
但是你可以看到,他們都與白色相關顏色,即使我設置了0.00000000001作爲藍色的起點。這怎麼可能?我如何改變它以獲得我想要的?
能告訴我到底你在哪裏設置爲「不連續」的選項?插值='無'? – 2013-04-23 12:48:36
它在你的colormap dictonairy中。格式爲(x,y1,y2),請注意,對於你的y1和y2是相等的,我的變化。在這種情況下,使用我的色彩映射表示值_till_零對於rgb(如此白色)具有1的顏色,但對於紅色和綠色,值_from_零的值爲0,對於藍色(藍色)則值爲1。 請參閱: http://matplotlib.org/api/colors_api.html#matplotlib.colors.LinearSegmentedColormap – 2013-04-23 13:05:30
但是,如果我像你那樣定義字典,我還需要使用:np.ma.masked_values(matrix,0)作爲imshow()的參數,否則「技巧」不起作用。 – 2013-04-23 13:28:32