zoom - Matplotlib/Pyplot: كيفية تكبير اللقطات الفرعية معًا؟




(2)

لدي قطع من بيانات السلاسل الزمنية ثلاثية المحاور (t ، x ، y ، z) في وحدات فرعية منفصلة أريد تكبيرها معًا. أي عندما أستخدم أداة "تكبير إلى مستطيل" على قطعة واحدة ، عندما أتحرر الماوس كل 3 قطع تكبير معا.

سابقا ، أنا ببساطة رسمت كل محاور 3 على مؤامرة واحدة باستخدام ألوان مختلفة. ولكن هذا مفيد فقط مع كميات صغيرة من البيانات: لدي أكثر من 2 مليون نقطة بيانات ، بحيث يحجب المحور الأخير الخطوط الأخرى. ومن هنا الحاجة إلى subplots منفصلة.

وأنا أعلم أنني يمكن التقاط أحداث الماوس matplotlib / pyplot (http://matplotlib.sourceforge.net/users/event_handling.html) ، وأنا أعلم أنني يمكن التقاط الأحداث الأخرى (http://matplotlib.sourceforge.net/api/backend_bases_api .html # matplotlib.backend_bases.ResizeEvent) ، ولكن لا أعرف كيف أعرف ما هو الزوم الذي تم طلبه في أي جزء فرعي واحد ، وكيفية تكراره على الخطين الآخرين.

أظن أن لدي كل القطع ، وأحتاج فقط إلى هذا الدليل الثمين الأخير ...

-BobC


بشكل تفاعلي هذا يعمل على محاور منفصلة

for ax in fig.axes:
    ax.set_xlim(0, 50)
fig.draw()

يمكنك القيام بذلك أيضا مع plt.subplots ، إذا كان هذا هو أسلوبك.

fig, ax = plt.subplots(3, 1, sharex=True, sharey=True)