防止matplotlib中imshow的消除锯齿
当我使用matplotlib的imshow()方法来表示一个小的numpymatrix时,它最终会在像素之间做一些平滑处理。 有什么办法来禁用这个? 这使我的形象在演讲中误导。
上图是一个28×28的图像,所以我应该看到代表每个像素的单一颜色的大方块(如matlab在使用imagesc()时显示的那样)。 但相反,像素似乎与相邻的像素模糊。 有没有办法来禁用这种行为?
imshow
有一个插值选项,它控制如何以及是否将插值应用于matrix的渲染。 如果你试试
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")
你也可以试试这个function
matshow
这个名字表明它完全符合你的要求 – 代表matrix。 当你不需要太多的自定义graphics时,它非常方便。
顺便说一句,matplotlib最好的资源之一是他们的画廊