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

时间:2019-06-26 22:20:32

标签: python matplotlib imshow

我正在寻找一种方法来绘制具有相同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')

enter image description here

1 个答案:

答案 0 :(得分: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()