2009-11-02 18 views
11

मैं नियमित रूप से पाइथन में कार्यक्रम I में प्रोग्राम (खोजी डेटा विश्लेषण प्रकार) बना देता हूं और सोच रहा था कि मैटलप्लिब में विशेषताएं या अवधारणाएं हैं जो सीखने लायक होंगी। उदाहरण के लिए, मैं आर के साथ काफी खुश हूं - लेकिन इसकी छवि() फ़ंक्शन पिक्सलेटेड आउटपुट के साथ बड़ी फ़ाइलों का उत्पादन करेगी, जबकि मैटलैब के बराबर आंकड़ा (मैं नियमित रूप से मैटलैब में भी प्रोग्राम करता हूं) फ़ाइल आकार में प्रबंधित और 'चिकना हुआ' लगता है - करता है matplotlib भी ऐसी कमी प्रदान करते हैं ...? लेकिन अधिक आम तौर पर, मुझे आश्चर्य है कि matplotlib अन्य लाभ क्या प्रदान कर सकता है। मेरा मतलब यह नहीं है कि यह एक कठिन सवाल है। धन्यवाद।matplotlib?

+1

इस तरह के प्रश्न पर एक नज़र डालें: http://stackoverflow.com/questions/1177019/what-can-be-done-in-r-that-cant-be-done-with-python-numpy-scipy – dalloliogm

+1

मुझे एहसास है कि यह एक पुराना सवाल है, लेकिन नए आगंतुकों के लिए: बस [ggplot2] (http://ggplot2.org/) का उपयोग करें। यह एक सीधी सीखने की वक्र है, लेकिन [महान दस्तावेज़] (http://docs.ggplot2.org/current/), और डिफ़ॉल्ट रूप से matplotlib की तुलना में बेहतर प्लॉट का उत्पादन करता है। – naught101

उत्तर

11

यह उत्तर देने के लिए एक कठिन है।

मैंने हाल ही में आर से matplotlib से अपने कुछ ग्राफिंग वर्कलोड को स्विच किया है। मेरी विनम्र राय में, मुझे matplotlib के ग्राफ सुंदर दिखने लगते हैं (बेहतर डिफ़ॉल्ट रंग, वे कुरकुरा और अधिक आधुनिक दिखते हैं)। मुझे यह भी लगता है कि matplotlib पीएनजी को एक बहुत बेहतर प्रदान करता है।

हालांकि मेरे लिए असली प्रेरणा यह थी कि मैं पाइथन (और numpy) में अपने अंतर्निहित डेटा के साथ काम करना चाहता था और नहीं। मुझे लगता है कि यह पूछने का एक बड़ा सवाल है, आप किस भाषा में लोड करना चाहते हैं, पार्स और अपने डेटा में हेरफेर?

दूसरी तरफ, आर के लिए एक बोनस यह है कि प्लॉटिंग डिफ़ॉल्ट केवल काम करता है (सब कुछ के लिए एक समारोह है)। मैं खुद को अक्सर मैटलप्लिब डॉक्स (वे मोटे होते हैं) के माध्यम से खुदाई करते हैं, जो सीमा को समायोजित करने या रेखा मोटाई बढ़ाने के लिए कुछ अस्पष्ट तरीके की तलाश में हैं। आर की साजिश रुकने वालों के पीछे कुछ परिपक्वता है।

+0

आपके विचारों के लिए धन्यवाद ... मैं मैटलैब में भी साजिश करता हूं इसलिए मैंने सोचा कि यह एक आसान संक्रमण हो सकता है, लेकिन मैं ज्यादातर ग्राफिक्स बना सकता हूं जो मैं आर (विशेष रूप से ग्रिड ग्राफिक्स के साथ) में कल्पना कर सकता हूं, इसलिए मुझे लगता है कि मैं इसे रोक दूंगा matplotlib - मैं भूल जाता हूं कि प्रत्येक पैकेज में सीखने के लिए अनुकूलन में विवरण हैं और यह इस समय एक अवांछित समय सिंक होगा ... – hatmatrix

3

मुझे लगता है कि सबसे बड़ा फायदा यह है कि matplotlib पायथन पर आधारित है, जो आप कहते हैं कि आप पहले ही जानते हैं। तो, यह सीखने के लिए एक भाषा कम है। बस पाइथन को महारत हासिल करने में समय व्यतीत करें, और आप अपने अन्य पायथन आवश्यकताओं के लिए सीधे और अप्रत्यक्ष रूप से साजिश कार्य के लिए लाभ उठाएंगे।

इसके अलावा, आईएमएचओ पायथन आर की तुलना में एक समृद्ध समृद्ध भाषा है, और अधिक पुस्तकालयों के साथ जो विभिन्न कार्यों के लिए मदद कर सकता है। आपको साजिश के लिए डेटा तक पहुंचना है, और डेटा कई रूपों में आता है। जो कुछ भी रूप में आता है, मुझे यकीन है कि पाइथन के लिए इसके लिए एक कुशल पुस्तकालय है।

और उन भूखंडों को अधिक पूर्ण कार्यक्रमों में एम्बेड करने के बारे में, सरल जीयूआई कहें? matplotlib आसानी से पाइथन के जीयूआई libs (जैसे पीईक्यूटी) के साथ बांधता है और आप सामान बना सकते हैं जो केवल आपकी कल्पना सीमा है।

+0

आपके विचारों के लिए धन्यवाद - पाइथन आर से अधिक समृद्ध होने के बावजूद, मैं कई मामलों में आर के साथ अधिक आरामदायक हूं : इसकी अंतर्निर्मित सूची स्थानीय गणना के लिए अस्थायी वातावरण (नामस्थान) का त्वरित निर्माण, शक्तिशाली अज्ञात कार्य भी हो सकता है ... जीयूआई निर्माण पायथन के लिए '+' है - मैं इसे मैटलैब से उत्पन्न भूखंडों के साथ उपयोग करता हूं + कभी-कभी पीआईएल लेकिन मैं इंटरैक्टिव विश्लेषण के लिए आर में सरल जीयूआई भी बना देता हूं। – hatmatrix

+1

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