matplotlib - 当网格大小较大时,Matplotlib imshow() 网格不均匀

  显示原文与译文双语对照的内容

试图在matplotlib中使用 imshow() 函数来在 177 X 177网格中对颜色值进行 plot 。 当我在小型( x30 30 ) 网格上运行以下代码( 例如 。 我设置了 width = 30 ),它产生的图像具有良好的大小均匀的正方形。 当我在较大的网格( 150 x150 ) 上运行时,这些方块不均匀比例。 有些是在一个或者两个维度中拉伸的。 下面是我使用的代码的简化版本:


grid = [[]]*width
for i in range(width):
 grid[i] = [[]]*width
 for j in range(width):
 grid[i][j] = (random(), random(), random())

plt.imshow(grid, interpolation="none", aspect=1)
plt.savefig("test.png")

如何让网格连起来? 我已经尝试了在这里所讨论的所有方面比例,但它似乎并没有解决这个问题。 我正在使用 python 2.7.6和matplotlib版本 1.3.1.

编辑:这里是一张图片,显示了大小的细胞,如果我把所有的方法放大的路径。 这是使用一个稍微不同的颜色函数,它的中的9个细胞的颜色增加了色彩。 这更清楚地显示出。 如果你想要,我可以包括代码,但是我在( 复杂得多) 随机代码中得到了相同的行为。 enter image description here

这就是我使用小网格时所看到的( 再一次放大):

enter image description here

时间: 作者:

好吧我知道了。 问题是当我保存图像时,我没有使用足够高的dpi 。 plt.savefig("test.png", dpi=1000) 产生一个图像,即使大型网格均以均匀大小的方式描述。

通过不增加更大的网格,我有效地试图用相同量的像素 plot,因这里分辨率减少到 shapen 。

作者:
...