3軸の加速度計の時系列データ(t、x、y、z)のプロットを別々のサブプロットにまとめてズームしたいと思います。つまり、1つのプロットで「長方形にズーム」ツールを使用すると、マウスを離すと3つのプロットすべてが一緒にズームします。
以前は、異なる色を使用して1つのプロットに3つの軸すべてをプロットしていました。ただし、これは少量のデータでのみ役立ちます。200万を超えるデータポイントがあるため、最後にプロットされた軸は他の2つを覆い隠しています。したがって、個別のサブプロットが必要です。
Matplotlib/pyplotマウスイベント(http://matplotlib.sourceforge.net/users/event_handling.html)をキャプチャできること、および他のイベント(http://matplotlib.sourceforge.net/api/backend_bases_api)をキャッチできることを知っています。 .html#matplotlib.backend_bases.ResizeEvent)、ただし、1つのサブプロットで要求されたズームを確認する方法と、他の2つのサブプロットでそれを複製する方法はわかりません。
私はすべてのピースを持っていると思いますが、最後の貴重な手がかりが必要なだけです...
-BobC
これを行う最も簡単な方法は、軸を作成するときにsharex
および/またはsharey
キーワードを使用することです。
from matplotlib import pyplot as plt
ax1 = plt.subplot(2,1,1)
ax1.plot(...)
ax2 = plt.subplot(2,1,2, sharex=ax1)
ax2.plot(...)
あなたのスタイルであれば、plt.subplots
でこれを行うこともできます。
fig, ax = plt.subplots(3, 1, sharex=True, sharey=True)
インタラクティブにこれは別々の軸で動作します
for ax in fig.axes:
ax.set_xlim(0, 50)
fig.draw()