【问题标题】:How to plot and align multiresolution images using matplotlib?如何使用 matplotlib 绘制和对齐多分辨率图像?
【发布时间】:2019-06-30 18:13:34
【问题描述】:

我正在寻找一种方法来绘制具有相同 xlim 和不同分辨率的多个图像,这些图像沿 x 轴对齐并在 y 轴上堆叠。

我能够使用子图(如下所示)生成我想要的东西,但我很想知道是否有更好、更简单的方法在单轴上执行此操作。

下面是我用来生成图片的代码:

import numpy as np
import matplotlib.pyplot as plt

N =10
fig,ax = plt.subplots(N,1, figsize=(16,6), sharex=True)
fig.subplots_adjust(hspace=0)
for n in range(N):
    x = np.sin(np.linspace(0,2*np.pi,(n+1)*10))
    ax[n].imshow([x, x], extent=(0,2*np.pi,0,1), aspect='auto')
    ax[n].axis('off')

【问题讨论】:

    标签: python matplotlib imshow


    【解决方案1】:

    在同一轴上绘制所有图像同样可能

    import numpy as np
    import matplotlib.pyplot as plt
    
    N =10
    fig, ax = plt.subplots(figsize=(16,6))
    ax.axis('off')
    
    for n in range(N):
        x = np.sin(np.linspace(0,2*np.pi,(n+1)*10))
        ax.imshow([x, x], extent=(0, 2*np.pi, n, n+1), aspect='auto')
    ax.autoscale()
    ax.invert_yaxis()
    
    plt.show()
    

    【讨论】:

    • 感谢 @ImportanceOfBeingErnest 的解决方案,我错过了 autoscale() 调用。
    猜你喜欢
    • 2017-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-15
    • 2014-01-13
    • 2021-09-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多