確率のカラープロットを作成したいのですが、imshowは確率がゼロのポイントに対してぼやけた値を生成します。実際のグリッドポイントの周りのこのぼやけた周辺をどのように取り除くことができますか?
例:
import numpy as np
import matplotlib.pyplot as plt
a=np.asarray([[ 0.00000000e+00 , 1.05824446e-01 , 2.05086136e-04, 0.00000000e+00],
[ 1.05824446e-01 , 3.15012305e-01 , 1.31255127e-01 , 1.05209188e-01],
[ 2.05086136e-04 , 1.31255127e-01 , 0.00000000e+00 , 0.00000000e+00],
[ 0.00000000e+00 ,1.05209188e-01 , 0.00000000e+00 , 0.00000000e+00]])
im=plt.imshow(a,extent=[0,4,0,4],Origin='lower',alpha=1,aspect='auto')
plt.show()
デフォルトでは(mpl 2.0に変更されます)、imshow
はデータを補間します(イメージに対して行うように)。必要なことは、補間しないように指示することだけです。
im = plt.imshow(..., interpolation='none')
'nearest'
はあなたが望むものでも動作します。すべての種類の補間の例については、 matplotlib imshowのようなmatlabのimagesc\imshowのピクセル間のスムージング を参照してください。
以下も使用できます。
im = plt.imshow(..., interpolation='nearest')
これは、離散変数に対して特にうまく機能します。