Python 如何';关闭&x27;matplotlib中imshow()的模糊效果?
我想做一个概率的彩色图,但是imshow会为概率为零的点生成模糊值。如何去除真实网格点周围的模糊边缘 例如:Python 如何';关闭&x27;matplotlib中imshow()的模糊效果?,python,numpy,matplotlib,plot,Python,Numpy,Matplotlib,Plot,我想做一个概率的彩色图,但是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 ,
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')
“最近的”
也可以满足您的需求。有关各种插值的示例,请参见
您还可以使用:
im = plt.imshow(..., interpolation='nearest')
这对于离散变量尤其有效。谢谢。正确的属性是插值
im=plt.imshow(…,interpolation='none')
注意,有些后端不支持none
,而最近的
似乎到处都可以接受。@tiago什么后端不接受'none'?这听起来像是个虫子me@tcaswell:macosx的后端不支持它。它抛出以下警告:警告:后端(matplotlib.backends.backend_macosx.RendererMac)不支持interpolation='none'。图像将以“最近”模式插值。[matplotlib.image]
不应发出警告,因为这是记录在案的行为: