如何在matplotlib中closuresimshow()的模糊效果?

我想做一个概率的颜色图,然而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'也适用于你想要的。 请参阅matlab中的imagesc \ imshow像素之间的平滑处理,例如matplotlib imshow中的所有插值示例。

DOC

您也可以使用:

 im = plt.imshow(..., interpolation='nearest') 

这对离散variables尤其适用。