Один из способов получить желаемое выравнивание - это явно установить экстенты для изображений. Экстенты будут осями данных. А затем используйте sharey=True
, чтобы выровнять оба. Если оси предоставляют полезную информацию, оставьте их видимыми, иначе отключите их. В демонстрационном коде показаны все метки, чтобы помочь найти правильные значения для экстента.
from matplotlib import pyplot as plt
import matplotlib.image as mpimg
img1 = mpimg.imread('image1.png')
img2 = mpimg.imread('image2.png')
fig, (ax1, ax2) = plt.subplots(figsize=(12.0, 5.0), ncols=2, sharey=True)
ax1.imshow(img2, interpolation='bilinear', extent=[0, 120, -21, 360], aspect=1/4)
# ax1.axis('off')
ax1.tick_params(labeltop=True, labelbottom=True, labelright=True, labelleft=True,
top=True, bottom=True, right=True, left=True)
ax1.yaxis.set_major_locator(plt.MultipleLocator(20))
ax2.imshow(img1, interpolation='bilinear', extent=[0, 120, -37.5, 361], aspect=1/4)
ax2.axis('on')
ax2.tick_params(labeltop=True, labelbottom=True, labelright=True, labelleft=True,
top=True, bottom=True, right=True, left=True)
# ax2.axis('off')
# plt.savefig('../Reproducibility_Paper_Figures/side.png')
plt.show()
![resulting images](https://i.stack.imgur.com/OZtV1.png)
PS: если вы хотите использовать savefig
и show
вместе, убедитесь, что savefig вызывается первым. plt.show
сотрет изображение.