漂浮在一个矩阵颜色红色到绿色
问题描述:
我有一个浮动列表范围从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是浮
列表
答
代替使用一个单一的浮动(这意味着“灰度”)的列表中,按照在此连结的指示:http://matplotlib.org/api/colors_api.html
正如你所看到的,你通过指定RGB元组来获得“颜色”(而不是灰色)。通过将B属性设置为零,你会得到红色和绿色。如果你想为一个值myValue
0 =红色1 =绿色转换,然后做
red = 1 - myValue
green = myValue
blue = 0
你自己看着办吧从这里我敢肯定。
答
你总是可以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()