如何制作一个Python图片'fit'的图?

How to make a Python image 'fit' the figure?

我有一个大小为 500x5000 的矩阵,我正在尝试通过 matplotlib 将其可视化。简单地说,我有:

import matplotlib as plt
import numpy as np
mat = np.random.rand(500,5000)
plt.imshow(mat, interpolation='none')
plt.show()

问题是我得到的图像有点 'squeezed',因此:

我只是希望能够使图像'fit'成为图形,以便我可以更好地检查它。有没有办法在 matplotlib 中做到这一点?

谢谢。

如果您希望调整图像以填满可用 space,请将 aspect='auto' 指定为 imshow。注意像素不会是正方形的!

例如:

import matplotlib.pyplot as plt
import numpy as np
mat = np.random.rand(500,5000)
plt.imshow(mat, interpolation='none', aspect='auto')
plt.show()

只是为了比较,默认行为强制像素为正方形,结果更像这样:

在当前轴上使用set_aspect方法。在您的情况下,宽高比约为 1:10,因此您可以将其设置为 10 以获得方形图像:

import matplotlib.pyplot as plt
import numpy as np

mat = np.random.rand(500,5000)
plt.imshow(mat, interpolation='none')

plt.gca().set_aspect(10)
plt.show()