Позиционирование вручную - это хорошо, но более современный способ сделать это - использовать gridspecs:
import numpy as np
import matplotlib.pyplot as plt
fig, axs = plt.subplots(2, 1,
gridspec_kw={'height_ratios':[1, 4], 'hspace':0}, sharex=True, sharey=True)
x = np.linspace(0, 10)
axs[0].plot(np.sin(x))
axs[1].plot(np.cos(x))
axs[0].set_ylim(-1.2, 1.2)
plt.show()