我想绘制概率图,但是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对数据进行插值(就像对图像所做的那样)。您需要做的就是告诉它不要插值:
imshow
im = plt.imshow(..., interpolation='none')
'nearest'也将为您想要的工作。
'nearest'
doc