में बैकएंड कैसे स्विच करें मैं निम्नलिखित समस्या से जूझ रहा हूं। मुझे उन रिपोर्टों को उत्पन्न करने की आवश्यकता है जिनमें चार्ट का संग्रह शामिल है। इन सभी चार्टों को छोड़कर, मैटलप्लिब डिफॉल्ट बैकएंड (TkAgg) का उपयोग करके किया जाता है। एक चार्ट को काहिरा बैकएंड का उपयोग करके बनाया जाना चाहिए, इसका कारण यह है कि मैं एक आरेख ग्राफ की योजना बना रहा हूं और इसे केवल काहिरा का उपयोग करके प्लॉट किया जा सकता है।matplotlib/पायथन
मुद्दा यह है कि मैं उड़ पर बैकेंड नहीं बदल सकते हैं, उदाहरण के निम्नलिखित काम नहीं करता है के लिए है:
matplotlib.pyplot.switch_backend('cairo.png')
(मुझे पता है कि switch_backend कार्यक्षमता प्रायोगिक है)
और मैं भी matplotlib.use("cairo.png")
लेकिन यह करने की कोशिश की matplotlib.use("cairo.png")
कथन matplotlib.pyplot
आयात करने से पहले आना चाहिए क्योंकि आयात समस्याओं की ओर जाता है। लेकिन मुझे स्क्रिप्ट के जीवन के दौरान दो अलग-अलग बैकएंड की आवश्यकता है।
तो मेरा सवाल है कि किसी के पास कोड स्निपेट है जो दिखाता है कि मैटलप्लॉटिब में बैकएंड को कैसे स्विच किया जाए?
बहुत बहुत धन्यवाद!
अद्यतन: मैं एक टुकड़ा है कि भार matplotlib लिखा है,, डिफ़ॉल्ट बैकएंड से पता चलता matplotlib अनलोड, यह पुन: लोड और बैकएंड परिवर्तन:
import matplotlib
import matplotlib.pyplot as plt
import sys
print matplotlib.pyplot.get_backend()
modules = []
for module in sys.modules:
if module.startswith('matplotlib'):
modules.append(module)
for module in modules:
sys.modules.pop(module)
import matplotlib
matplotlib.use("cairo.png")
import matplotlib.pyplot as plt
print matplotlib.pyplot.get_backend()
लेकिन यह वास्तव में जिस तरह से यह करने के लिए है?
अद्यतन 2: मैं कुछ गंभीर मस्तिष्क फ्रीज कल था ... सरल और सबसे स्पष्ट समाधान सभी चार्ट के लिए काहिरा बैकएंड उपयोग करने के लिए है और सब पर बैकएंड स्विच करने के लिए नहीं :)
अद्यतन 3: असल में , यह अभी भी एक मुद्दा है, इसलिए कोई भी जो जानता है कि गतिशील रूप से matplotlib बैकएंड्स को कैसे स्विच करें .... कृपया अपना उत्तर पोस्ट करें।
'pyplot.switch_backends()' है। यह आपके मामले में काम नहीं कर सकता है। – jfs