2012-03-08 10 views
6

क्या matplotlib में एक बंद आंकड़ा (यानी, एक उपयोगकर्ता X'd) को फिर से खोलना संभव है? मैं (बस एक नया आंकड़ा हैं) तो वह में विजेट के साथ एक आंकड़ा बनाने के लिए कोशिश कर रहा हूँ तो एक समाधान उपलब्ध है, लेकिन मैं अगर figure जानना चाहूंगाMatplotlib: एक बंद आंकड़ा फिर से खोलें?

In [14]: fig = figure(10) 

In [15]: close(fig) 

In [16]: fig.show() 

Exception in Tkinter callback 
Traceback (most recent call last): 
    File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-tk/Tkinter.py", line 1410, in __call__ 
    return self.func(*args) 
    File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-tk/Tkinter.py", line 495, in callit 
    func(*args) 
    File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/matplotlib/backends/backend_tkagg.py", line 253, in idle_draw 
    self.draw() 
    File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/matplotlib/backends/backend_tkagg.py", line 239, in draw 
    tkagg.blit(self._tkphoto, self.renderer._renderer, colormode=2) 
    File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/matplotlib/backends/tkagg.py", line 19, in blit 
    tk.call("PyAggImagePhoto", photoimage, id(aggimage), colormode, id(bbox_array)) 
TclError: this isn't a Tk application 

: निम्नलिखित कोड अनुभवहीन दृष्टिकोण से पता चलता उदाहरण बंद होने के बाद पूरी तरह बेकार है।

+0

संभावित मैप्लोट [Matplotlib: बंद किए गए आंकड़े को कैसे दिखाया जाए]] (http://stackoverflow.com/questions/31729948/matplotlib-how-to-show-a-figure-that-has-been- बंद) –

उत्तर

0

हां, आंकड़े को बंद करना पूरी तरह से हटा देता है।

+3

वास्तव में, यह बिल्कुल सही नहीं है। एक आंकड़ा बंद करने से गुई टूलकिट (बिल्कुल बैकएंड पर निर्भर करता है) विंडो ऑब्जेक्ट को नष्ट कर देता है, लेकिन आकृति वस्तु नहीं। आकृति वस्तु अभी भी मौजूद है, और आप अभी भी इसे सहेज सकते हैं (उदाहरण के लिए 'fig.savefig (...)' चित्र को बंद करने के बाद भी पूरी तरह से काम करेगा।) –

+2

हालांकि, मैं आंकड़े को बंद करने का जिक्र कर रहा हूं गुई, 'fig.close()' (जो चीज़ों को नष्ट करता है) को बुलाकर नहीं। –

+0

@ जोकिंगटन - वास्तव में वह मामला है जिसमें मुझे रूचि है: जब उपयोगकर्ता जीयूआई के माध्यम से एक विंडो बंद कर देता है। मैंने उपर्युक्त MWE रखा क्योंकि मैंने करीब (अंजीर) और "दबाने वाला एक्स" माना था। अगर मैं एक्स दबाता हूं और 'fig.show() 'आज़माता हूं, तो मुझे एक ही अपवाद मिलता है। – keflavich

संबंधित मुद्दे