2012-01-20 14 views
14

मेरे पास wxPython प्रोग्राम है जो विभिन्न डेटासेट से पढ़ता है, डेटा पर विभिन्न प्रकार के सरल ऑन-द-फ्लाई विश्लेषण करता है और डेटासेट के विभिन्न संयोजनों को matplotlib कैनवास पर प्लॉट करता है। मैं बाद में अधिक परिष्कृत विश्लेषण के लिए फाइल करने के लिए वर्तमान में प्लॉट डेटा को डंप करने का अवसर प्राप्त करना चाहता हूं।matplotlib plot से डेटा निकालने के लिए

प्रश्न यह है: matplotlib में कोई भी तरीका है जो वर्तमान में matplotlib.Figure में प्लॉट किए गए डेटा तक पहुंच की अनुमति देता है?

उत्तर

19

जेकब स्रोत जिसमें से यह भेजा गया था से सीधे डेटा को लिखने के लिए अजगर स्क्रिप्ट संशोधित करने के बारे में सही है साजिश रची है फेंक दिया जाता है साजिश में; यही वह तरीका है जिसे मैं करना पसंद करूंगा। लेकिन संदर्भ के लिए, यदि आप एक साजिश के बाहर डेटा प्राप्त करने की आवश्यकता है, मैं आप x और y डेटा प्राप्त कर सकते सेट लगता है कि यह यह

gca().get_lines()[n].get_xydata() 

वैकल्पिक रूप से करना चाहिए अलग:

line = gca().get_lines()[n] 
xd = line.get_xdata() 
yd = line.get_ydata() 
+0

धन्यवाद, मुझे लगता है कि इसे करना चाहिए। यदि आप कारणों को जानना चाहते हैं कि मैं डेटा स्रोतों के साथ गड़बड़ करने के लिए साजिश से डेटा डंप करना क्यों पसंद करता हूं, तो कृपया @Jacub पर मेरी टिप्पणी देखें। –

+0

क्यों नहीं 'mpl_toolkits.mplot3d.art3d.Line3D ऑब्जेक्ट' 'get_zdata()' है? मैं जेड मान निकालने नहीं कर सकता। :-( –

+0

@ सिब्स गैंबलिंग कि आपको matplotlib के डेवलपर्स के साथ लेना होगा। –

1

इसके अजगर, आप स्रोत स्क्रिप्ट को संशोधित कर सकते हैं ताकि सीधे तो डेटा से पहले यह

+3

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

+2

यह केवल तभी काम करेगा यदि उपयोगकर्ता पहले से जानता है कि वे डेटा निर्यात करना चाहते हैं और डेटा स्थिर है। दुर्लभ मैं कहूंगा। – Schollii

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