python - مؤامرة matplotlib التفاعلية مع اثنين من المتزلجون




keyboard interactive (3)

Matplotlib لديه بعض وظائف واجهة المستخدم الرسومية لطيفة إلى حد ما. هناك بعض الأمثلة التوثيقية في مصدر tarball من matplotlib ، في / الأمثلة / user_interfaces و matplotlib> / الأمثلة / event_handling. على وجه التحديد على keyhandling هو: http://matplotlib.sourceforge.net/examples/event_handling/keypress_demo.html

لقد فعلت شيئا يشبه ما كنت تهدف ل:

import numpy as np
import pylab

class plotter:
    def __init__(self, initial_values):
        self.values
        self.fig = pylab.figure()
        pylab.gray()
        self.ax = self.fig.add_subplot(111)
        self.draw()
        self.fig.canvas.mpl_connect('key_press_event',self.key)

    def draw(self):
        im = your_function(self.values)
        pylab.show()
        self.ax.imshow(im)

    def key(self, event):
        if event.key=='right':
            self.values = modify()
        elif event.key == 'left':
            self.values = modify()

        self.draw()
        self.fig.canvas.draw()

كنت أستخدم هذا للتحول من خلال عرض صور مختلفة في حزمة مكدسة على المفاتيح ، ولكن يجب أن تكون قادرًا على وضع المنطق لتعديل قيمك المدخلة على لوحة المفاتيح.

إذا كنت ترغب في القيام بأشياء مثل وجود قيم إدخال المستخدم ، أعتقد أن الأمثلة تحتوي على خيارات لمربعات الحوار ، ولكن إذا كنت ترغب فقط في زيادة / تقليل عدد من المتغيرات ، فإن مجرد تحديد أزواج لوحة المفاتيح الخاصة بهم بهذه الطريقة قد يعمل بشكل جيد

اعتدت matplotlib لإنشاء بعض المؤامرة ، والتي تعتمد على 8 متغيرات. أود أن أدرس كيف تتغير المؤامرة عندما أقوم بتغيير بعضها. أنا خلقت بعض البرامج النصية التي تدعو matplotlib واحد وتولد لقطات مختلفة في وقت لاحق أنا تحويلها إلى فيلم ، فإنه ليس سيئا ، ولكن قليلا أخرق.

  1. أتساءل عما إذا كنت قد تفاعلت بطريقة ما مع تجديد قطعة الأرض باستخدام مفاتيح لوحة المفاتيح لزيادة / تقليل قيم بعض المتغيرات ونرى على الفور كيف يتغير المؤامرة.

  2. ما هو أفضل نهج لهذا؟

  3. أيضا إذا كنت تستطيع أن تشير إلى وصلات مثيرة للاهتمام أو وصلة مع مثال قطعة أرض مع اثنين فقط من منزلقات؟


استخدم waitforbuttonpress(timeout=0.001) ثم سترى مؤامرات الماوس.


لا أعتقد أن مجرد رسم الرسومات البيانية باستخدام plt.plot سيسمح لك بالقيام بذلك. ستحتاج إلى إنشاء برنامج نصي / تطبيق GUI مخصص عن طريق تضمين Matplotlib فيه. في الوقت الحالي ، تدعم Matplotlib جميع مجموعات أدوات واجهة المستخدم الرسومية الرئيسية - PyGTK + و PyQt4 و wxPython.
يمكنني استخدام wxPython وتضمين matplotlib فيه سهل إلى حد ما. يجب أن يكون مشابهًا مع مجموعة أدوات GUI الأخرى. يمكنك الحصول على جميع المعلومات التي تحتاج إليها في هذا الكتاب -

كان متوفرا في الأمازون here .





interactive