У меня есть сюжет с двумя (или более) участками.
Я часто панорамирую или перемещаю оси, когда смотрю на график.
С помощью следующего фрагмента я уже могу предположить, что один подзаговор следует за другим относительно оси x - это означает, что перемещение / масштабирование оси x для одного подзадача будет соответственно перемещать / масштабировать другую ось x, тоже.
Как я могу добиться, чтобы при масштабировании / перемещении по оси x другой подплот автоматически масштабировался по своей оси y?
import matplotlib
matplotlib.use('QT5Agg')
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
xValues = np.linspace(0, 10, 10 + 1)
yValues1 = np.linspace(0, 10, 10 + 1)
yValues2 = np.linspace(0, -10, 10 + 1)
df1 = pd.DataFrame(yValues1, index=xValues)
df2 = pd.DataFrame(yValues2, index=xValues)
fig = plt.figure(figsize=(8, 5))
ax1 = plt.subplot(2, 1, 1)
ax2 = plt.subplot(2, 1, 2, sharex=ax1)
axes = [ax1, ax2]
dfs = [df1, df2]
for ax, dfRunner in zip(axes, dfs):
ax.plot(dfRunner, "-o", markersize=2)
plt.setp(ax.xaxis.get_majorticklabels(), rotation=20)
ax.grid()
plt.gca().fmt_xdata = lambda x: mdates.num2date(x).strftime("%Y-%m-%d %H:%M:%S")
plt.tight_layout()
plt.show()