Matplotlib不会将数据精确地呈现为方形

问题描述 投票:0回答:1

我正在使用matplotlib.imshow将2D numpy数组的整数值渲染为热图。问题是最终图像中的像素不是完全正方形的。有时他们有点长方形。这对我来说是个大问题,因为我使用这个“热图”作为地图中的叠加层,这种行为会产生一种奇怪的视觉故障。

enter image description here

我这样渲染它:

fig = plt.imshow(data2d, cmap=cmap, norm=norm, aspect='equal', interpolation='none')
plt.axis('off')
fig.axes.get_xaxis().set_visible(False)
fig.axes.get_yaxis().set_visible(False)
fig.axes.set_adjustable('box-forced')
plt.savefig("output.png", bbox_inches='tight', pad_inches=0, dpi=72)

我认为将“aspect” - 属性设置为“equal”会将像素设为正方形。我注意到如果我增加DPI效果不太明显,因为有更多像素可以使用,但渲染时间则成为一个问题。

如果有人能指出我正确的方向,我会很高兴。

python matplotlib imshow
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.