2016-03-28 12 views
7

मैं matplotlib.pyplot के साथ आईपीथन नोटबुक का उपयोग करता हूं और मैं अक्सर एक साजिश बना देता हूं जिसके लिए उत्पन्न होने के लिए कोड के काफी बड़े ब्लॉक की आवश्यकता होती है। मैं फिर ऑब्जेक्ट को सहेजना चाहता हूं और उस सटीक उसी आकृति/अक्ष जोड़ी का उपयोग बाद में किसी अन्य प्लॉट में शामिल करना चाहता हूं।मैं एक ही आईपथन नोटबुक में कई बार एक ही matplotlib आंकड़ा कैसे दिखा सकता हूं?

उदाहरण के लिए, मान लीजिए कि मेरे पास स्कैटर प्लॉट के लिए एक्स-वाई डेटा के कुछ जोड़े हैं। मैं अंक और फिर कई कोशिकाओं को बाद में दिखाना चाहता हूं - संभावित रूप से अन्य कॉलों के साथ अन्य, असंबद्ध आंकड़े बनाने के लिए, मैं उस आंकड़े को फिर से दिखाना चाहता हूं ताकि मैं इसे एक रिग्रेशन लाइन या कुछ के साथ साजिश कर सकूं अन्य ग्राफिक्स।

तस्वीर में मैंने नीचे संलग्न किया है, मेरे पास एक छोटी नोटबुक है; मैं फिर से pyplot.scatter को कॉल किए बिना सेल # 2 में सेल # 2 में खींचना चाहता हूं।

अनिवार्य रूप से, मैं सभी कोड दोहराए बिना फिर से आंकड़ा दिखाना चाहता हूं। ऐसा करने के लिए मेरे विकल्प क्या हैं? मैं इसे() या ड्रा() दिखाने के लिए कॉल के साथ पूरा करने में असमर्थ रहा हूं या सेल में वर्तमान आकृति ऑब्जेक्ट को अपनी सहेजी गई आकृति वस्तु के रूप में सेट करके कर रहा हूं। कोई सलाह स्वागत है। धन्यवाद!

पीएस मुझे पता है कि अगर मैं इस पर आकृति और साजिश का पुन: उपयोग करता हूं, तो ऑब्जेक्ट बदल जाएगा और इसलिए अंजीर वस्तु की स्थिति पिछले आईपीथन सेल में खींची गई साजिश से मेल नहीं खा सकती है। यह मेरे काम के लिए ठीक है।

Example IPython notebook

उत्तर

10

बस किसी भी कक्ष में myFigure फोन के बाद myFigure से पहले सेल में सौंपा गया था।

उदाहरण के लिए सेल 1:

In [1]: 
myFigure, myAx = plt.subplots() 
myAx.plot([1,2,3]) 

कक्ष में उस के बाद:

In [2]: 
myFigure 

यह दिखा देंगे myFigure

+0

महान है, धन्यवाद! –

+1

myFigure.show() क्यों काम नहीं करता है? – amit

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