"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > मैटप्लोटलिब के साथ प्लॉटिंग करते समय, प्रदर्शन क्यों प्रभावित होता है और क्या किया जा सकता है?

मैटप्लोटलिब के साथ प्लॉटिंग करते समय, प्रदर्शन क्यों प्रभावित होता है और क्या किया जा सकता है?

2024-11-06 को प्रकाशित
ब्राउज़ करें:377

When Plotting with Matplotlib, Why Does Performance Suffer and What Can Be Done?

Matplotlib प्लॉटिंग के लिए प्रदर्शन संबंधी विचार

विभिन्न पायथन प्लॉटिंग लाइब्रेरी का मूल्यांकन करते समय, आपको Matplotlib का उपयोग करते समय प्रदर्शन संबंधी समस्याओं का सामना करना पड़ सकता है। यह लेख बताता है कि मैटप्लोटलिब प्लॉटिंग धीमी क्यों हो सकती है और इसकी गति को बेहतर बनाने के लिए समाधान प्रदान करता है। &&&]

बार-बार पुनः आरेखण: हर बार जब fig.canvas.draw() को कॉल किया जाता है, तो यह पूरे आंकड़े को ताज़ा करता है, जिसमें अक्ष सीमाओं और टिक लेबल जैसे तत्व शामिल होते हैं। यह प्रक्रिया कम्प्यूटेशनल रूप से गहन है। &&&]

प्रदर्शन बढ़ाने के लिए, निम्नलिखित रणनीतियों पर विचार करें:

    1. ब्लिटिंग का उपयोग करें:
  • ब्लिटिंग में पूरी आकृति को फिर से बनाने के बजाय केवल कैनवास के एक विशिष्ट हिस्से को अपडेट करना शामिल है। यह नाटकीय रूप से कम्प्यूटेशनल ओवरहेड को कम करता है। Matplotlib बैकएंड-विशिष्ट ब्लिटिंग विधियां प्रदान करता है जो उपयोग किए गए GUI ढांचे के आधार पर भिन्न होती हैं।
  • 2। पुनः आरेखण को प्रतिबंधित करें:
प्लॉटिंग करते समय एनिमेटेड=ट्रू विकल्प का उपयोग करें। मैटप्लोटलिब एनिमेशन मॉड्यूल के साथ संयुक्त, यह तकनीक पूर्ण कैनवास रिड्रा को ट्रिगर किए बिना विशिष्ट ऑब्जेक्ट अपडेट की अनुमति देती है।

3. सबप्लॉट कस्टमाइज़ करें:

सबप्लॉट की संख्या कम करें और लेबल पर टिक करें। रेंडरिंग समय को कम करने के लिए अनावश्यक तत्वों को हटा दें।

4. कोड दक्षता बढ़ाएँ:

अपने कोड की संरचना में सुधार करने और निष्पादित कार्यों की संख्या को कम करने के लिए उसे दोबारा तैयार करें। जहां संभव हो, वेक्टरकृत संचालन का उपयोग करें। ]

matplotlib.pyplot को plt के रूप में आयात करें एनपी के रूप में सुन्न आयात करें आयात समय x = np.arange(0, 2*np.pi, 0.01) y = np.sin(x) अंजीर, अक्ष = plt.subplots(nrows=6) अंजीर.शो() # शुरुआत में कैनवास बनाएं शैलियाँ = ['आर-', 'जी-', 'वाई-', 'एम-', 'के-', 'पी-'] पंक्तियाँ = [ax.plot(x, y, style)[0] ax के लिए, ज़िप में शैली(axes, style)] # अक्षों की पृष्ठभूमि छवियां संग्रहीत करें पृष्ठभूमि = [कुल्हाड़ियों में कुल्हाड़ी के लिए अंजीर.canvas.copy_from_bbox(ax.bbox)] टीस्टार्ट = समय.समय() रेंज में i के लिए (1, 200): जे के लिए, गणना में पंक्ति (लाइनें, प्रारंभ = 1): # पृष्ठभूमि पुनर्स्थापित करें अंजीर.कैनवास.रिस्टोर_क्षेत्र(पृष्ठभूमि[जे-1]) # डेटा अपडेट करें लाइन.सेट_ydata(sin(j*x i/10.0)) # कलाकार का चित्र बनाएं और ब्लिट करें ax.draw_artist(लाइन) अंजीर.कैनवास.ब्लिट(ax.bbox) print('FPS:', 200/(time.time()-tstart))

वैकल्पिक पुस्तकालय

यदि मैटप्लोटलिब का प्रदर्शन असंतोषजनक रहता है, तो वैकल्पिक प्लॉटिंग पुस्तकालयों पर विचार करें जैसे कि बोकेह,

प्लॉटली

, या

अल्टेयर

। ये लाइब्रेरी वास्तविक समय की अन्तरक्रियाशीलता और प्रदर्शन अनुकूलन को प्राथमिकता देती हैं।

विज्ञप्ति वक्तव्य यह लेख यहां पुनर्मुद्रित है: 1729341981 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए स्टडी_गोलंग@163.कॉम से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3