【问题标题】:How to make a Python image 'fit' the figure?如何使 Python 图像“适合”图形?
【发布时间】:2015-02-02 09:46:56
【问题描述】:

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

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

问题是我得到的图像有点“挤压”,如下所示:

我希望能够使图像“适合”图形,以便更好地检查它。有没有办法在 matplotlib 中做到这一点?

谢谢。

【问题讨论】:

    标签: python numpy matplotlib figure


    【解决方案1】:

    如果您希望调整图像以填满可用空间,请指定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()
    

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

    【讨论】:

    • 谢谢乔。我已经接受了你的回答。顺便说一句...你愿意帮助我this吗?非常感谢。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-18
      • 2023-02-03
      • 1970-01-01
      • 2015-01-15
      • 2022-01-15
      • 1970-01-01
      相关资源
      最近更新 更多