2016-07-25 8 views
1

色にマッピングされた値を持つグリッドを取得したい。これは確率分布のようなものでなければなりません。1.0は黒、0.0は白、中間は灰色です。答えを読むhere私は、私の場合のためにそれを試してみる:線形写像は、ブラックなどの2次元配列から最大値を扱うため確率グリッドmatplotlib

from matplotlib import mpl,pyplot 
import numpy as np 

zvals = np.zeros((10,5)) 
zvals[5,1] = 0.5 
zvals[5,2] = 0.3 
zvals[5,3] = 0.7 
zvals[5,4] = 5.8 

cmap = mpl.colors.LinearSegmentedColormap.from_list('my_colormap',['white','black'],256) 

img = pyplot.imshow(zvals,interpolation='nearest', cmap = cmap) 

pyplot.colorbar(img,cmap=cmap) 
pyplot.show() 

私は、問題を参照してください。しかし配列には必ずしも値1.0が含まれているとは限りませ

ハード境界を0.0と1.0に設定するにはどうすればよいですか?

+0

を.MinMaxScaler.html)を使用してデータを前処理します(=スケーリング[0,1])。 – sascha

+0

ありがとう、それは事をしない。私はその[0,1]値のデータをチェックし、その間隔にマップしません。 – beginh

答えて

3

imshowvminvmax引数使用:あなたは(http://scikit-learn.org/stable/modules/generated/sklearn.preprocessing [MinMaxScaler]-学習scikitを使用したいmigh

img = pyplot.imshow(zvals, interpolation='nearest', cmap=cmap, vmin=0, vmax=1) 
+0

うわー、私はこの場合、imshowのパラメータについては考えていませんでした。ありがとう! – beginh