Хотя это не идеальное решение, в matplotlib есть встроенный способ синхронизировать ограничения, тики и т. Д. Двух отдельных графиков.
Например,
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 4 * np.pi, 100)
y = np.cos(x)
figures = [plt.figure() for _ in range(3)]
ax1 = figures[0].add_subplot(111)
axes = [ax1] + [fig.add_subplot(111, sharex=ax1, sharey=ax1) for fig in figures[1:]]
for ax in axes:
ax.plot(x, y, 'go-')
ax1.set_xlabel('test')
plt.show()
Обратите внимание, чтовсе 3 графика будут синхронизированы при масштабировании, панорамировании и т. д.
Хотя, вероятно, есть лучший способ сделать это.