
لدي نص بيثون واحد مع العمليات الحسابية. كانت هناك حلقة من حوالي 2000 تكرار ، كل منها كان يعتبر بضع دقائق.
وقررت تصحيح هذا البرنامج النصي بذكاء ، وعرض رسم بياني لبعض المقاييس من رقم التكرار. وبما أنه يتم حساب التكرار التالي ، لذلك هذا الجدول الزمني والتحديث.
أسهل طريقة للقيام بذلك هي مع
خوخه. بتعبير أدق ، استخدام خادم خوخه لرسم الرسوم البيانية. كيف - الآن سوف أخبرك.
أولاً ، قم ببدء تشغيل الخادم: يخرج الخادم من المربع إلى جانب خوخه نفسه ، لذلك بعد تثبيت النقطة خوخه ، فقط اكتب خوخه تخدم في وحدة التحكم ويتم تشغيل الخادم.
لماذا هو مطلوب؟ ثم لإظهار الرسوم البيانية
- لم يمنع تنفيذ بقية الكود (لأنه يحدث في المتصفح ، في عملية منفصلة) ،
- بحيث يستجيب الرسم البياني لتغيير حجم النافذة (أو لتكبير الحد الأقصى)
- وهكذا يمكننا في أي وقت تغيير هذا الجدول كما نريد ، مباشرة من عملية بايثون الخاصة بنا!
يتم ذلك مثل هذا:
import time import sys from bokeh.plotting import figure from bokeh.client import pull_session from bokeh.models import ColumnDataSource
في السابق ، كان علي أيضًا القيام بذلك ، لكن القرارات السابقة كانت ، بعبارة ملطفة ، ليست جيدة. ما لم أحاول في حياتي ...
الحذر ، الصابورة الدماغ!يمكنك استخدام matplotlib في وضع عدم الحجب عن طريق سحب plt.draw () يدويًا في كل تكرار. صحيح أن matplotlib لا يحتوي على معالجة خاصة للرسائل من واجهة المستخدم الرسومية في وضع عدم الحظر ، وإذا كانت النافذة تقلل أو تغلق مع نافذة أخرى ، فيجب أن ننتظر التكرار التالي لإعادة رسمه. عكاز جدا ، ولكن لتصحيح الأخطاء ستفعل.
من الممكن في Negro إنشاء صورة بها مخطط لنفس matplotlib وإفراغها على القرص. أيضا عكاز شرسة ، ولكن ركوب على نقص الأسماك. أو على جهاز بعيد بدون رسومات.
يمكنك القيام بذلك بطريقة رائعة: استخدام PyQt أو لف رمز الحساب في QObject أو دفعه إلى دفق منفصل أو لف الرسومات matplotlib في QWidget (أو استخدام الرسوم البيانية من Qt Data Visualizaion أو من PyQtGraph) أو توصيل الرياضيات بالرسومات عبر إشارة مع فتحة ، وسيكون هناك السعادة. صحيح أن هذا يشبه إلى حد ما حل تصحيح سريع ، ويجب أن تدرس Qt ، لكنني فعلت ذلك عدة مرات.
يمكنك رفع تطبيق خادم صغير لرسم الرسوم البيانية في عملية منفصلة (على سبيل المثال ، باستخدام aiohttp + PyQt + PyQtGraph) ، والتي يمكن طرقها من خلال واجهة برمجة تطبيقات REST من العملية الرئيسية. بمجرد القيام بذلك ، إلا أنه لم يجذب الإصلاح السريع لتصحيح الأخطاء أيضًا.
يمكنك الكتابة إلى نوع من قواعد البيانات (ما هو الموضة الآن؟) ، ثم اجعل Grafan من المألوف عليها. صحيح ، تحتاج إلى وضع كل من قاعدة البيانات و Grafan ، وتهيئتها ، وعموما عناء الكتابة إلى قاعدة البيانات. ربما ، من الممكن أيضًا من خلال ملف ، لكن بالنسبة إلى رسمين بيانيين لكل ألف نقطة ، يشبه كل منهما عصفورًا بالسلاح ...
أو يمكنك فهم plotly.dash ، ووضع الرياضيات في دفق منفصل ، لفها في تطبيق شرطة ، والقيام بجحيم الكثير من القمامة. هذا أنا لم أتقن ، على الرغم من أنه سيكون من الضروري.
باختصار ، تصحيح الأخطاء الناجح!