Python 防止matplotlib中imshow的抗锯齿

Python 防止matplotlib中imshow的抗锯齿,python,numpy,matplotlib,scipy,blurry,Python,Numpy,Matplotlib,Scipy,Blurry,当我使用matplotlib的imshow()方法表示一个小的numpy矩阵时,它最终会在像素之间进行一些平滑处理。有没有办法禁用此功能?这使得我的数字在陈述中具有误导性 上图是一幅28x28的图像,因此我应该看到代表每个像素的单色大正方形(就像使用imagesc()时matlab显示的那样)。但是,像素似乎与相邻像素模糊了。是否有办法禁用此行为?imshow有一个插值选项,用于控制如何以及是否将插值应用于矩阵的渲染。如果你尝试 imshow(array, interpolation="near

当我使用matplotlib的imshow()方法表示一个小的numpy矩阵时,它最终会在像素之间进行一些平滑处理。有没有办法禁用此功能?这使得我的数字在陈述中具有误导性


上图是一幅28x28的图像,因此我应该看到代表每个像素的单色大正方形(就像使用imagesc()时matlab显示的那样)。但是,像素似乎与相邻像素模糊了。是否有办法禁用此行为?

imshow有一个插值选项,用于控制如何以及是否将插值应用于矩阵的渲染。如果你尝试

imshow(array, interpolation="nearest") 
你可能会得到你想要的东西。例如

A=10*np.eye(10) + np.random.rand(100).reshape(10,10)
imshow(A)

相比

A=10*np.eye(10) + np.random.rand(100).reshape(10,10)
imshow(A, interpolation="nearest")

imshow有一个插值选项,用于控制插值如何以及是否应用于矩阵渲染。如果你尝试

imshow(array, interpolation="nearest") 
你可能会得到你想要的东西。例如

A=10*np.eye(10) + np.random.rand(100).reshape(10,10)
imshow(A)

相比

A=10*np.eye(10) + np.random.rand(100).reshape(10,10)
imshow(A, interpolation="nearest")

您也可以尝试该功能

matshow 
哪个名称表明它完全符合您的要求-表示矩阵。 当您不需要过多地定制图形时,它非常方便


顺便说一句,matplotlib的最佳资源之一是它们的

您也可以尝试该功能

matshow 
哪个名称表明它完全符合您的要求-表示矩阵。 当您不需要过多地定制图形时,它非常方便


顺便说一句,matplotlib最好的资源之一是他们的

谢谢,这似乎很有效。出于好奇,为什么它被称为插值的“最近的”?这一页上的文档:没有描述“最近的”是做什么的。老实说,我不知道。在开发树中,现在还有一个
interpolation=“none”
选项,它做的事情几乎相同。提供有关
interpolation=“nearest”
试图实现的目标的更多信息。它可能试图从“最近的”邻居处采样?在显示像素附近,它确实是“最近的邻居”interpolation@ChristopherDorian,只是晚了4年才来到这里,但最近的和没有的区别是:谢谢,这似乎行得通。出于好奇,为什么它被称为插值的“最近的”?这一页上的文档:没有描述“最近的”是做什么的。老实说,我不知道。在开发树中,现在还有一个
interpolation=“none”
选项,它做的事情几乎相同。提供有关
interpolation=“nearest”
试图实现的目标的更多信息。它可能试图从“最近的”邻居处采样?在显示像素附近,它确实是“最近的邻居”interpolation@ChristopherDorian,只是晚了4年才来到这里,但最近的和没有的区别是: