2013-04-30 104 views
0

我有一個浮動列表範圍從0.01到1.0。我將它們分配給矩陣上的特定點。在我將它們分配到某一點時,它們覆蓋了整個顏色譜圖1.0,從黑到白都是0.我怎樣才能使它們只覆蓋綠色和紅色。漂浮在一個矩陣顏色紅色到綠色

for x, y in arr_bool3: 
      zeros_and_ones[x, y] = confindencenumbers[count]##set so binary matrix knows where to plot 
     count=count+1 


    ax.imshow((zeros_and_ones), cmap=plt.cm.spectral_r, interpolation='none') ##Draw matrix 

arr_bool3是座標和confindencenumbers是浮

列表

回答

0

代替使用一個單一的浮動(這意味着「灰度」)的列表中,按照在此連結的指示:http://matplotlib.org/api/colors_api.html

正如你所看到的,你通過指定RGB元組來獲得「顏色」(而不是灰色)。通過將B屬性設置爲零,你會得到紅色和綠色。如果你想爲一個值myValue 0 =紅色1 =綠色轉換,然後做

red = 1 - myValue 
green = myValue 
blue = 0 

你自己看着辦吧從這裏我敢肯定。

1

你總是可以build your own彩色地圖使用LinearSegmentedColormap

import pylab as plt 
cdict = {'red': ((0.0, 1.0, 1.0), 
       (1.0, 0.0, 0.0)), 
     'green': ((0.0, 0.0, 0.0), 
        (1.0, 1.0, 1.0)), 
     'blue': ((0.0, 0.0, 0.0), 
        (1.0, 0.0, 0.0))} 

my_cmap = plt.matplotlib.colors.LinearSegmentedColormap('my_colormap',cdict,256) 
plt.pcolor(plt.rand(10,10),cmap=my_cmap) 
plt.colorbar() 
plt.show() 

enter image description here

相關問題