Я стараюсь установить такой же масштаб по оси y двух подзадач в matplotlib. Я могу очень близко сделать это вручную. Но есть ли возможность взять тот же масштаб для двух подзаговоров?Та же шкала, но разная высота для подзаголовков
# -*- coding: utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt
import matplotlib
x=np.array([0,1,2,4])/4.
y1=[0.5,0.5,1.0,1.5]
y2=[0,1,2,4]
fig=plt.figure(figsize=(8,8.5))
ax1=plt.subplot(2,1,1)
plt.plot(x,y1)
plt.yticks([0.5,1,1.5])
plt.grid()
ax2=plt.subplot(2,1,2)
plt.plot(x,y2)
plt.yticks([0.5,1,1.5])
plt.grid()
plt.tight_layout()
ratio1=(ax1.get_xlim()[1]-ax1.get_xlim()[0])/(ax1.get_ylim()[1]-ax1.get_ylim()[0])
ratio2=(ax2.get_xlim()[1]-ax2.get_xlim()[0])/(ax2.get_ylim()[1]-ax2.get_ylim()[0])
aspectratio=0.5
ratio_default= ratio2*aspectratio
ax1.set_aspect(ratio_default)
plt.savefig('demo.png')
plt.show()
я мог бы сделать это, но я только хочу, чтобы показать область интереса верхней сюжетные, изменяя его высоту. – bios
Вы можете использовать 'subplot2grid' для размещения верхних подложек на сетке. Тогда соотношение сторон не требуется. –