जब डिस्प्ले अपरिभाषित हो तो मैटप्लोटलिब के साथ पीएनजी बनाना
पायथन में, मैटप्लोटलिब स्थिर, एनिमेटेड और इंटरैक्टिव विज़ुअलाइज़ेशन बनाने के लिए एक लोकप्रिय लाइब्रेरी है . हालाँकि, जब DISPLAY वातावरण में सेट नहीं है, तो matplotlib का उपयोग करके PNG छवि उत्पन्न करने का प्रयास करने से त्रुटि संदेश "कोई डिस्प्ले नाम नहीं और कोई $ DISPLAY पर्यावरण चर नहीं" हो सकता है। यह त्रुटि इसलिए होती है क्योंकि matplotlib के डिफ़ॉल्ट बैकएंड के लिए एक X सर्वर की आवश्यकता होती है, जो कुछ वातावरणों में उपलब्ध नहीं है।
इस समस्या को हल करने के लिए, हमें Agg (एंटी-ग्रेन ज्योमेट्री) बैकएंड का उपयोग करने के लिए matplotlib को स्पष्ट रूप से सेट करना होगा। एजीजी एक गैर-इंटरैक्टिव बैकएंड है जिसमें एक्स सर्वर की आवश्यकता नहीं होती है, जो हेडलेस वातावरण में छवियों के निर्माण की अनुमति देता है।
इस समाधान को लागू करने का तरीका यहां दिया गया है:
import matplotlib # Force matplotlib to use the Agg backend matplotlib.use('Agg')
पाइप्लॉट जैसे किसी अन्य मैटप्लोटलिब सबमॉड्यूल को आयात करने से पहले, इस कोड को अपनी स्क्रिप्ट की शुरुआत में रखें। पिप्लॉट को आयात करने से पहले बैकएंड को एजीजी पर सेट करके, हम यह सुनिश्चित करते हैं कि मैटप्लॉटलिब एक्स-उपयोग वाले बैकएंड का उपयोग करने का प्रयास नहीं करता है।
वैकल्पिक रूप से, आप अपनी .matplotlibrc कॉन्फ़िगरेशन फ़ाइल को संशोधित करके बैकएंड को स्थायी रूप से सेट कर सकते हैं। बैकएंड अनुभाग में, निम्नलिखित सेट करें:
backend : Agg
यह वैश्विक सेटिंग आपकी स्क्रिप्ट में बैकएंड को स्पष्ट रूप से निर्दिष्ट करने की आवश्यकता को समाप्त कर देती है।
एक बार उपयुक्त बैकएंड हो जाए कॉन्फ़िगर किया गया है, आप "प्रदर्शन अपरिभाषित" त्रुटि का सामना किए बिना matplotlib का उपयोग करके पीएनजी छवियां उत्पन्न कर सकते हैं।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3