如何使用 matplotlib 绘制和对齐多分辨率图像?

How to plot and align multiresolution images using matplotlib?

我正在寻找一种方法来绘制具有相同 xlims 和不同分辨率的多个图像,这些图像沿 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')

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

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()