如何制作一个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()
我有一个大小为 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()