Как построить и выровнять изображения с множественным разрешением, используя matplotlib? - PullRequest
0 голосов
/ 27 июня 2019

Я ищу способ построения нескольких изображений с одинаковыми значениями 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')

enter image description here

1 Ответ

1 голос
/ 30 июня 2019

Построение всех изображений по одинаковым осям одинаково возможно

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