在matplotlib中跟随绘图时自动缩放

时间:2019-03-26 12:14:01

标签: python matplotlib

我有一个包含两个(或更多)子图的图。

在查看绘图时,我经常平移或移动轴。

使用以下代码段,我已经能够使一个子图相对于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()

0 个答案:

没有答案