gpt4 book ai didi

python - Matplotlib imshow() 网格尺寸较大时网格不均匀

转载 作者:行者123 更新时间:2023-12-01 05:00:01 25 4
gpt4 key购买 nike

我正在尝试使用 matplotlib 中的 imshow() 函数在 177 X 177 网格中绘制颜色值。当我在小 (30X30) 网格上运行以下代码时(即我设置 width = 30),它生成的图像具有漂亮、大小均匀的正方形。当我在更大的网格(150X150)上运行它时,正方形的比例不均匀。有些在一维或两个维度上拉伸(stretch)。这是我正在使用的代码的简化版本:

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")

知道如何使网格均匀吗?我已经尝试了讨论的所有纵横比内容 here ,但似乎并没有解决问题。我使用的是 Python 2.7.6 和 matplotlib 版本 1.3.1。

编辑:这是一张图片,显示了如果我一直放大的话,大网格中的细胞会是什么样子。这是使用稍微不同的着色函数获得的,其中 9 个细胞的簇通过增加色调来着色。这更清楚地显示了不均匀的形状。如果您愿意,我可以包含代码,但我使用(不太复杂的)随机代码得到相同的行为。 enter image description here

这是我使用小网格时的样子(再次放大):

enter image description here

最佳答案

好吧,我明白了。问题是我保存图像时没有使用足够高的 dpi。 plt.savefig("test.png", dpi=1000)生成的图像中,即使是大网格也用均匀大小的正方形来描绘。

通过不增加较大网格的 dpi,我有效地尝试在相同数量的像素中绘制更多信息,因此分辨率降低到单元格变得畸形的程度。

关于python - Matplotlib imshow() 网格尺寸较大时网格不均匀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26475642/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com