0

0.01 から 1.0 までの float のリストがあります。それらをマトリックス上の特定のポイントに割り当てています。それらをポイントに割り当てた瞬間に、それらは 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 は座標のリストであり、confidencenumbers は float のリストです

4

2 に答える 2

1

を使用して、いつでも独自のカラーマップを作成できます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()

ここに画像の説明を入力

于 2013-04-30T13:58:12.317 に答える
0

単一のフロート (「グレースケール」を意味する) を使用する代わりに、次のリンクの指示に従ってください: http://matplotlib.org/api/colors_api.html

ご覧のとおり、RGB タプルを指定することで (グレーではなく) "色" を取得します。B アトリビュートを 0 に設定すると、赤と緑だけが得られます。値myValueを 0= 赤から 1= 緑に変換する場合は、次のようにします。

red = 1 - myValue
green = myValue
blue = 0

きっとここからわかると思います。

于 2013-04-30T13:49:07.107 に答える