Я использую matplotlib.imshow для рендеринга двумерного массива целочисленных значений в виде тепловой карты.Проблема в том, что пиксели на конечном изображении не полностью квадратные.Иногда они немного прямоугольные.Это большая проблема для меня, так как я использую эту «тепловую карту» в качестве наложения на карту, и такое поведение создает странный визуальный сбой.

Я рендерил это так:
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» на «равный» позаботится о том, чтобы пиксели были точно квадратными.Я заметил, что если я увеличу DPI, эффект будет менее заметным, так как будет работать больше пикселей, но время рендеринга станет проблемой.
Я был бы рад, если бы кто-то мог указать мне направильное направление.