如何使Python图像适合'这个数字?

时间:2015-02-02 01:35:04

标签: python numpy matplotlib figure

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

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

问题在于我得到的图像有些“挤压”,如此:

enter image description here

我希望能够使图像“适合”图形,以便我可以更好地检查它。有没有办法在matplotlib中执行此操作?

感谢。

2 个答案:

答案 0 :(得分:2)

如果您希望图片进行调整以填满可用空间,请将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()

enter image description here

仅作比较,默认行为强制像素为方形,结果更像是:

enter image description here

答案 1 :(得分:1)

在当前轴上使用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()