वैज्ञानिक डेटा और ग्राफ़ के प्रकाशन के लिए कौन से सॉफ़्टवेयर और वर्कफ़्लो की सिफारिश की जाती है?


40

कौन सा सॉफ्टवेयर विस्तृत शैली, गणितीय टंकण और "पेशेवर गुणवत्ता" के साथ प्रकाशन स्तर के ग्राफिक्स के निर्माण के लिए कुछ डेटापॉइंट्स के सरल प्लॉटिंग से एक अच्छा वर्कफ़्लो प्रदान करता है?

यह डेविड के प्रश्न से संबंधित है ( क्या विशेषताएँ एक आंकड़ा पेशेवर गुणवत्ता बनाते हैं? ) लेकिन फ़ोकस विशेषताओं पर नहीं बल्कि सॉफ़्टवेयर या सामान्य वर्कफ़्लो पर है। मेरे पास कई कार्यक्रमों, Gnuplot, उत्पत्ति, Matplotlib, TikZ / PGFplot, Qtiplot के साथ सतही अनुभव है, लेकिन एक ही समय में डेटा विश्लेषण और अच्छे आंकड़े करना मुश्किल लग रहा है।

क्या ऐसा कोई सॉफ्टवेयर है जो इसे अनुमति देता है या मुझे सिर्फ एक पैकेज में गहरी खुदाई करनी चाहिए?

संपादित करें: मेरा वर्तमान वर्कफ़्लो विभिन्न घटकों का मिश्रण है, जो कम या ज्यादा एक साथ काम करते हैं, लेकिन कुल मिलाकर यह वास्तव में कुशल नहीं है और मुझे लगता है कि यह एक विश्वविद्यालय की प्रयोगशाला में कई वैज्ञानिकों के लिए विशिष्ट है। आमतौर पर यह एक श्रृंखला है जो प्रयोग से प्रकाशन की तरह शुरू होती है:

  1. प्रयोगात्मक डेटा प्राप्त करें (आमतौर पर एएससीआईआई फॉर्म में, लेकिन विभिन्न लेआउट के साथ, जैसे हेडर, टिप्पणियां, स्तंभों की संख्या)
  2. डेटा की त्वरित साजिश यह जांचने के लिए कि क्या 20 साल पहले लिखे गए ओरिजिन, ग्नुप्लोट या आर्कन प्लॉट कार्यक्रम में कुछ भी गलत नहीं हुआ था।
  3. डेटा का अधिक विस्तृत विश्लेषण: पृष्ठभूमि के अंशों को घटाना, निर्भरता और सहसंबंधों का विश्लेषण करना, सैद्धांतिक मॉडल के साथ फिटिंग। कई वैज्ञानिक इस कार्य के लिए उत्पत्ति का उपयोग करते हैं, कुछ मतलाब और पायथन / स्कैपी / नेम्पी का उपयोग बढ़ रहा है।
  4. पेशेवर आंकड़े बनाना, इसमें जर्नल दिशानिर्देशों, गणितीय टाइपसेटिंग और सामान्य संपादन को समायोजित करना शामिल है। फिलहाल मैं इसके लिए ओरिजनल का इस्तेमाल करता हूं लेकिन इसमें कई कमियां हैं (सिर्फ 0.5 लीटर का लिनिविड पाने की कोशिश करें, यह संभव नहीं है)। आंकड़ों के संयोजन / चमकाने के लिए मैं मुख्य रूप से एडोब इलस्ट्रेटर का उपयोग करता हूं, क्योंकि यह पीडीएफ दस्तावेजों के im / / निर्यात को अच्छी तरह से संभाल सकता है लेकिन मैं प्रत्येक आरेख के लिए दो चरणों से गुजरना पसंद नहीं करूंगा।

मैंने एक उदाहरण जोड़ा कि यह अंत में कैसा दिख सकता है (जैसा कि यह ज्यादातर हाथ बदलते हुए बनाया गया है कुछ भी दर्दनाक है और सभी तत्वों के लिए लिनिविड सेट करने के लिए उदाहरण के लिए एक इंटरफ़ेस प्रदान करता है जो अच्छा होगा):यहाँ छवि विवरण दर्ज करें


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

@Szabolcs: मैं सहमत हूं कि मेरा प्रश्न थोड़ा व्यापक है। मेरा वर्कफ़्लो हमेशा समान नहीं होता है, क्योंकि मैं विभिन्न प्रयोगों से डेटा का विश्लेषण कर रहा हूं, इसलिए मैंने सवाल को थोड़ा और सामान्य रखने की कोशिश की।
अलेक्जेंडर

जवाबों:


31

आप अजगर (या नहीं) के साथ कुछ अनुभव है, तो मैं अजगर वैज्ञानिक सॉफ्टवेयर है कि उपलब्ध है (का उपयोग कर की सिफारिश करेंगे SciPy , पांडा ), ...) के साथ एक साथ matplotlib । एक प्रोग्रामिंग वातावरण होने के नाते, आपके डेटा प्रवाह, डेटा जोड़तोड़ और प्लॉटिंग पर आपका पूरा नियंत्रण है। आप "पूर्ण अनुप्रयोग" मायावी 2 या वीज़्ज़ का भी उपयोग कर सकते हैं ।


14
Matplotlib के लिए +1। उल्लेख किए गए बिंदुओं के अलावा, पाठ क्षेत्रों में LaTeX का उपयोग करने की क्षमता आपको "गणितीय टाइपिंग" का अनुरोध करती है।
बैरन

उत्साह के चाको के लिए कोई सिफारिश?
पीसीआर

1
इंटरैक्टिव भूखंडों के लिए चाओ सुपर भयानक है। एक पूरे अलग जानवर IMHO।
मेवप्लप

2
और matplotlib की तत्काल prettification के लिए, बाहर की जाँच Seaborn
क्रिश्चियन क्लैसन


15

आप जो कह रहे हैं, उसके आधार पर, एक सामान्य प्रयोजन की स्क्रिप्टिंग भाषा शायद आपकी सबसे अच्छी शर्त है, जब तक कि उसमें किसी प्रकार की रेखांकन क्षमता हो, जिसे आप एक्सेस कर सकें (चाहे बिल्ट-इन या इंपोर्ट हो)।

उस नस में, MATLAB काम करेगा, हालांकि आपको प्रस्तुति-गुणवत्ता वाले भूखंडों के लिए लाइन की चौड़ाई, प्रतीकों और कुल्हाड़ियों के साथ खिलौना बनाना होगा। आपके मानदंड को देखते हुए, मैं कहूंगा कि MATLAB की बड़ी कमजोरी विस्तृत गणितीय टाइपसेटिंग है; MATLAB कुछ TeX लेबल का उपयोग कर सकता है, लेकिन कुछ LaTeX कमांड हैं जो इसे संभाल नहीं सकते हैं, इसलिए मुझे याद है कि एडोब इलस्ट्रेटर में पीडीएफ से कुछ LaTeX लेबल को वापस काटकर पेस्ट करना है।

पायथन + न्यूपी डेटा आयात के लिए काम करेगा, क्योंकि numpy.loadtxtपाठ डेटा आयात करना दर्द रहित बनाता है। उस बिंदु पर, आप matplotlib और Gnuplot के बीच चयन कर सकते हैं (जिसमें Gupuplot.py के माध्यम से Python इंटरफ़ेस है । 2008 के बाद से इंटरफ़ेस पर कोई सक्रिय विकास नहीं है, लेकिन फिर, क्या Gnuplot अब और भी बहुत कुछ बदल देता है, भले ही यह रिलीज़ को जोड़ता रहे? )। मैथ्यूमेट का प्यासी रैपर भी काम कर सकता है, जो इस बात पर निर्भर करता है कि आप क्या करना चाहते हैं। Matplotlib में महान गणितीय टाइपसेटिंग है (जैसा कि बैरन द्वारा नोट किया गया है), और डेटा जोड़तोड़ NumPy, SciPy, या जो भी अन्य पायथन पैकेज आप अपने डेटा पर फेंकना चाहते हैं, का उपयोग करके किया जा सकता है।

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

Tecplot 360 में इसी तरह की समस्या है। टेकप्लॉट 360 अद्भुत भूखंडों का उत्पादन करता है, खासकर 3 डी में। ऐसी कुछ चीजें हैं जो आप Tecplot 360 के साथ अपेक्षाकृत आसानी से सीखने वाले GUI का उपयोग करके कर सकते हैं जिसे आप शायद ही किसी अन्य प्लॉटिंग पैकेज में करने के लिए कड़ी मेहनत करेंगे। आखिरी बार जब मैंने Tecplot का उपयोग किया था वह 6 या 7 साल पहले था; स्पष्ट रूप से, उन्होंने बहुत अधिक कार्यक्षमता जोड़ी है। डेटा हेरफेर इंडेक्सिंग, स्लाइसिंग या ज़ोन की स्थापना के माध्यम से किया जा सकता है। व्युत्पन्न मात्राओं की गणना समीकरणों का उपयोग करके की जा सकती है। आप अपने डेटा का फूरियर ट्रांसफॉर्म भी ले सकते हैं, इंटरपोलेशन (या क्रिंगिंग) कर सकते हैं, और कई अन्य चीजें कर सकते हैं। यह स्पष्ट नहीं है कि गणितीय टाइपसेटिंग कैसे करें। मुझे लगता है कि आप Tecplot से HTML आउटपुट हैक कर सकते हैं और MathJax या MathML जोड़ सकते हैं? टेकप्लॉट के बारे में मेरे दिमाग में नुकसान यह है कि यह मुफ़्त नहीं है (जिसका अर्थ है कि एक उपकरण के रूप में,) आप इसे अपने साथ नौकरी से नौकरी पर नहीं ले जा सकते हैं), iffy गणितीय टाइपसेटिंग, और यह कि जटिल डेटा हेरफेर की स्क्रिप्टिंग के लिए Tecplot की मैक्रो भाषा सीखने की आवश्यकता होती है। मुख्य लाभ यह है कि इसकी 3 डी प्लॉटिंग क्षमता एक लंबे शॉट द्वारा मेटप्लेटलिब और मैटलैब को मात देती है। Tecplot की मैक्रो / स्क्रिप्टिंग भाषा का उपयोग करके, और बाहरी पायथन स्क्रिप्ट (कुछ सीमित कार्यक्षमता के साथ) का उपयोग करके डेटा को बैच करना संभव है। इसके अलावा, MATLAB के समान, एक GUI है जिस पर आप वापस आ सकते हैं यदि आप Tecplot स्क्रिप्टिंग नहीं सीखना चाहते हैं। (टेकप्लॉट की GUI MATLAB की तुलना में बहुत अधिक पूर्ण विशेषताओं वाली है।) मुख्य लाभ यह है कि इसकी 3 डी प्लॉटिंग क्षमता एक लंबे शॉट द्वारा मेटप्लेटलिब और मेटलैब को मात देती है। Tecplot की मैक्रो / स्क्रिप्टिंग भाषा का उपयोग करके और बाहरी पायथन स्क्रिप्ट (कुछ सीमित कार्यक्षमता के साथ) का उपयोग करके डेटा को बैच करना संभव है। इसके अलावा, MATLAB के समान, एक GUI है जिस पर आप वापस आ सकते हैं यदि आप Tecplot स्क्रिप्टिंग नहीं सीखना चाहते हैं। (टेकप्लॉट की GUI MATLAB की तुलना में बहुत अधिक पूर्ण विशेषताओं वाली है।) मुख्य लाभ यह है कि इसकी 3 डी प्लॉटिंग क्षमता एक लंबे शॉट द्वारा मेटप्लेटलिब और मेटलैब को मात देती है। Tecplot की मैक्रो / स्क्रिप्टिंग भाषा का उपयोग करके और बाहरी पायथन स्क्रिप्ट (कुछ सीमित कार्यक्षमता के साथ) का उपयोग करके डेटा को बैच करना संभव है। इसके अलावा, MATLAB के समान, एक GUI है जिस पर आप वापस आ सकते हैं यदि आप Tecplot स्क्रिप्टिंग नहीं सीखना चाहते हैं। (टेकप्लॉट की GUI MATLAB की तुलना में बहुत अधिक पूर्ण विशेषताओं वाली है।)

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

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


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

10

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

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

मुझे लगता है कि वास्तव में औसत उपयोगकर्ता को क्या मदद मिलेगी जो इन सभी / कई पैकेजों में विशेषज्ञ नहीं है, उनके पास बहुत अच्छी तरह से परिभाषित उदाहरणों का एक छोटा सा सेट है जिसे "ग्राफिकल बेंचमार्क" के रूप में इस्तेमाल किया जा सकता है (एक समान में सीएफडी बेंचमार्क के रूप में समझ )। जहाँ तक मुझे पता है, इस समय ऐसा कुछ भी मौजूद नहीं है।

कम से कम, मैं देखना चाहूंगा:

  1. कई लाइन और बिंदु प्रकार, किंवदंती, लेबल में गणित / शीर्षक, आदि के साथ एक यथोचित सीधा 2 डी लाइन प्लॉट।
  2. एक 3 डी सतह साजिश के लिए Ditto।
  3. Isosurfaces, कटिंग प्लेन और शायद कुछ अन्य फैंसी सुविधाओं के साथ एक अधिक परिष्कृत 3 डी प्लॉट।
  4. एक फैंसी 3 डी आरेख।

डेटा # 1-3 के लिए प्रदान किया जाएगा, और # 4 के लिए एक फोटो या "मूल" आरेख। प्रत्येक उदाहरण के लिए, कोड (इनपुट) और चित्र (आउटपुट) पोस्ट किए जाएंगे। यह छवि की गुणवत्ता और कोड जटिलता दोनों के संदर्भ में पाठक को आसानी से पहचानने की अनुमति देता है कि कौन सा पैकेज उनके लिए सही है।

मेरी योजना अपने समूह में # 1, 2, 4 के लिए आने वाले महीनों में और मैटलैब, पीजीएफ / टीकेजेड, पायथन / स्कैपी सहित कुछ ही पैकेजों में कुछ ऐसा करने की है। अगर रुचि है, तो मैं इसे सार्वजनिक रूप से पोस्ट कर सकता हूं।

इसलिए जबकि यह मूल रूप से पोस्ट किए गए सवाल का जवाब नहीं है (और मैं इसके लिए माफी चाहता हूं) यह कई महीनों के समय में जवाब हो सकता है।


ऐसा सुझाव दिया गया बेंचमार्क एक अच्छा विचार है। अंतिम आरेख तक पहुँचने के लिए सुझाए गए सभी तरीकों की तुलना करना कठिन है यदि आप किसी दिए गए डेटासेट और आवश्यकताओं से शुरू नहीं करते हैं। इसके अतिरिक्त विभिन्न भाषाओं / पैकेजों में कोड को देखने से आप अपनी तुलना के लिए अधिक उपयुक्त हो सकते हैं। विशेष रूप से TikZ के साथ मेरी धारणा है कि आप लगभग कुछ भी पुन: उत्पन्न कर सकते हैं, लेकिन ऐसा करने के लिए एक वास्तविक विशेषज्ञ ले सकता है।
अलेक्जेंडर

मुझे लगता है कि बेंचमार्क एक अच्छा विचार है; मैं आपके 2D प्लॉटों के लिए सुझाव दूंगा कि आप Matplotlib गैलरी के कुछ प्लॉटों की प्रतिकृति बनाएं । नमूना कोड प्रत्येक उदाहरण के लिए पहले से ही प्रदान किया गया है। 3 डी उदाहरणों के लिए, मायावी के प्रलेखन में एक समान गैलरी है, और एक अच्छा 3 डी ट्यूटोरियल उदाहरण है । अन्य पैकेजों में इनमें से कुछ 3D प्लॉट्स की पुनरावृत्ति उपयोगी भी हो सकती है।
ज्योफ ऑक्सबेरी

कुछ महीनों बाद अब आप क्या उपयोग कर रहे हैं? हैकिंग द्वारा प्लॉट बनाने पर कोई टिप्पणी (टेक्स्ट विंडो में प्लॉट विकल्पों के साथ टिंकर, प्लॉट, लूप ...) और / या अंतःक्रियात्मक रूप से?
डेनिस

8

मैं आमतौर पर gnuplot का उपयोग करता हूं । यह सीखना कठिन हो सकता है, लेकिन यह बहुत साफ भूखंडों का उत्पादन करता है। इसे एन्कैप्सुलेटेड पोस्टस्क्रिप्ट प्रारूप (.eps) में प्लॉट तैयार करने के लिए भी सेट किया जा सकता है जो में लिखे दस्तावेजों में आसान एम्बेडिंग की अनुमति देता हैLATEX


+1 और त्वरित प्लॉट के लिए qtiplot का प्रयास करें जो एक अच्छा मूल क्लोन है और साथ ही वक्र फिटिंग भी कर सकता है। अंतिम लेआउट के लिए भी xfig वास्तव में अच्छा है (लेकिन कठिन) और विवरण में हैकिंग के एक बिट के साथ सीधे लेटेक्स फ़ार्मुलों को एम्बेड कर सकते हैं ...
Karussell

8

एक और सॉफ्टवेयर पैकेज पर विचार करने के लिए Asymptote है । Asymptote वास्तव में एक प्रोग्रामिंग भाषा है (C ++ जैसे सिंटैक्स के साथ) जो वेक्टर आधारित आउटपुट का उत्पादन करती है। एक अच्छी विशेषता यह है कि पाठ को LaTeX (गणित समीकरणों सहित) के साथ प्रदान किया जाता है, इसलिए आपके आंकड़ों में पाठ आपके दस्तावेज़ के अनुरूप है।

मैंने PyAsy नामक Asymptote को Python रैपर लिखा है ताकि मैं Asymptote इंजन पर NumPy सरणियों को पास कर सकूं और कुछ मूल प्लॉटिंग कर सकूं । यह काफी खुरदरा है और इसमें पूरी तरह से सुविधा नहीं है, लेकिन यह मददगार हो सकता है।

वैसे भी, Asymptote की आउटपुट क्वालिटी वाकई बहुत अच्छी है।

संपादित करें: आगे ऊपर, मैंने फैब्रिक को दूरस्थ नौकरियों को लॉन्च करने, निर्देशिकाओं को सिंक करने और बायनेरिज़ के निर्माण, रन डेटा और / या दूरस्थ विश्लेषण स्क्रिप्ट लॉन्च करने के लिए बहुत मददगार पाया है । यह एक काफी हल्का पाइथन लाइब्रेरी है जो रिमोट कमांड को थोड़ा आसान (और स्क्रिप्ट योग्य) बनाता है।


8

मुझे मैथमेटिका की ग्राफिक्स कार्यक्षमता की एक छोटी समीक्षा लिखने दें, क्योंकि मैं इससे परिचित हूं।

यह क्या कर सकता है?

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

आप Mathematica.SE के प्लॉटिंग (मूल) और ग्राफिक्स (अधिक उन्नत) टैग भी ब्राउज़ कर सकते हैं

आपकी उदाहरण छवि को पूरी तरह से स्वचालित तरीके से बनाना संभव है (कोई मैन्युअल पोस्टप्रोसेसिंग की आवश्यकता नहीं)।

ताकत

  • सभी ग्राफिक्स एक घोषणात्मक तरीके से निर्दिष्ट हैं (जैसे एसवीजी --- आप सिस्टम को कुछ आकर्षित करने के लिए नहीं कहते हैं, आप बस वेक्टर ग्राफिक्स ऑब्जेक्ट्स को सूचीबद्ध करते हैं)। ग्राफिक्स एक ही तरह के मैथेमैटिका एक्सप्रेशन हैं जैसे सिस्टम में कुछ और हैं, वे सिर्फ एक विशेष तरीके से प्रदर्शित होते हैं। इसका मतलब यह है कि ग्राफिक्स को आसानी से रूपांतरित और संसाधित किया जा सकता है, जिसके बाद वे बनाए गए हैं --- यह ग्राफिक्स के लिए भी लागू होता है, साथ ही साथ कार्यों को साजिश रचने से भी।

  • ग्राफिक्स बनाने का त्वरित और सरल तरीका उच्च स्तर के प्लॉटिंग फ़ंक्शंस का उपयोग कर रहा है , और अपने आउटपुट को अनुकूलित करने के लिए बहुत सारे विकल्प सेट कर रहा है। यदि आपके द्वारा आवश्यक सटीक प्लॉट के लिए कोई फ़ंक्शन नहीं है, तो आप ग्राफिक्स को ग्राफिक्स आदिम से इकट्ठा कर सकते हैं (जो कि बहुत आसान भी है )।

  • गणितीय फ़ंक्शन प्लॉटिंग कार्यक्षमता उत्कृष्ट है। जहाँ तक मुझे पता है कि यह क्लास लीडिंग है। मैथमेटिका के नमूने अनुकूल रूप से (2 डी और 3 डी दोनों में) कार्य करते हैं ताकि एक चिकनी साजिश जल्दी और स्वचालित रूप से उत्पन्न हो सके। कार्यों की साजिश रचने से विलक्षणता, विलगाव आदि का प्रतीकात्मक रूप से पता लगाया जाता है।

  • आप एक विशिष्ट प्रिंट आकार के लिए आंकड़े तैयार कर सकते हैं, और यह सुनिश्चित कर सकते हैं कि वे एक प्रकाशन में आसपास के पाठ के साथ अच्छी तरह से फिट होते हैं (जैसे फ़ॉन्ट आकार और शैलियों का मिलान)। 2 डी में, दो प्रकार के निर्देशांक हैं: प्लॉट निर्देशांक जो आपके डेटा के अनुरूप हैं और प्रिंटर के बिंदुओं में निर्दिष्ट पूर्ण निर्देशांक हैं। ग्राफिक को आकार देते समय पूर्व का पैमाना, बाद वाला नहीं। पाठ डिफ़ॉल्ट रूप से निरपेक्ष निर्देशांक का उपयोग करता है जिसका अर्थ है कि 8-बिंदु प्रकार 8 बिंदु होगा चाहे समान आंकड़ा 7 सेमी या 14% आकार में निर्यात किया गया हो। यह प्रकाशन में पाठ के अनुरूप फ़ॉन्ट आकार रखना संभव बनाता है।

  • गणितीय सूत्रों के लिए बिल्ट टाइपिंग। Matex तीसरे पक्ष के पैकेज उत्कृष्ट गुणवत्ता सूत्र टाइपसेटिंग के लिए LaTeX एकीकरण प्रदान करता है। (प्रकटीकरण: मैं लेखक हूँ।)

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

कमजोरियों

  • कई सबप्लॉट के साथ आंकड़े होना और सबप्लॉट के समन्वय प्रणालियों के बीच कुछ सटीक संरेखण होना मुश्किल हो सकता है।

    The SciDraw (तृतीय पक्ष) पैकेज फिक्स यह और आंकड़ा के हर पहलू से अधिक विस्तृत नियंत्रण देता है। इस पैकेज का ट्रेडऑफ है कि यह आंकड़े स्थापित करने के लिए अधिक प्रयास करता है।

  • 3 डी ग्राफिक्स वेक्टर प्रारूपों के लिए अच्छी तरह से निर्यात नहीं करते हैं। एक बिटमैप संस्करण निर्यात करना ठीक है।

  • यदि आपके संस्थान के पास पहले से लाइसेंस नहीं है, तो इसके लिए पैसे खर्च होते हैं।



5

पीजीएफ भूखंडों में गहरी खुदाई करें:

1) 3 डी आरेख कर सकते हैं: अजगर- matplotlib उन्हें नहीं कर सकते हैं, gnuplot तुलना में बदसूरत है

2) आधार दस्तावेज़ के साथ आकार और परिवार में लगातार फोंट हैं )

3) विशिष्ट कोलकेम के लिए टेम्प्लेट किया जा सकता है

बाजार में इसके जैसा कुछ और नहीं है। :)


1
matplotlib की 3 डी रेखांकन उपयोगिता है। यह थोड़ा कमजोर है, लेकिन निश्चित रूप से त्वरित दृश्य के लिए ठीक काम करता है।
मेवप्लप

निश्चित रूप से +1। जब गुणवत्ता वाले भूखंडों के प्रकाशन की बात आती है, तो कुछ भी नहीं हरा सकता है। बेशर्म प्लग: एक सवाल और TeX.sx पर pgfplots पर मेरा जवाब: tex.stackexchange.com/search?q=user:9043+ [www.pgfplots] । उदाहरण के लिए texample.net/tikz/examples/pgfplots भी देखें , और बहुत व्यापक मैनुअल
qubyte

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

1
@ChristianWaluga: आप "स्टैंडअलोन" वर्ग का उपयोग कर सकते हैं - यह आपको पीजीएफ चित्र का उपयोग करके पीडीएफ / ईपीएस चित्र बनाने की अनुमति देता है जो आपने पहले ही लेख के लिए तैयार किया है। फिर आप पीडीएफ को मूल लेख पाठ में सम्मिलित कर सकते हैं।
टेमरिक

4

जब मुझे डेटा विज़ुअलाइज़ेशन और डेटा हेरफेर की बात आती है तो मुझे टेकप्लॉट काफी शक्तिशाली लगता है।


4
Tecplot के बारे में क्या यह बहुत शक्तिशाली बनाता है? आपको विशेष रूप से क्या सुविधाएँ मिलती हैं?
पॉल

4

मैं आपको अपने सीमित अनुभव पर अपना दृष्टिकोण देने की कोशिश करूंगा, जिसमें केवल कुछ प्रकार के भूखंड शामिल हैं: 2 डी डेटा प्लॉट, स्कैप्लेट, और ग्राफ-आधारित आरेख (पेड़ और रेखांकन, फ़्लोचार्ट); लेकिन पहले मुझे सवाल से थोड़ा विचलित करने की अनुमति दें:

सबसे पहले, मैं कहना चाहूंगा कि उच्च गुणवत्ता वाले भूखंडों के उत्पादन के महत्व को अक्सर अनदेखा किया जाता है। भूखंड न केवल डेटा प्रदर्शित करने के लिए हैं, लेकिन यदि प्रभावी ढंग से उपयोग किया जाता है तो वे जटिल विचारों को संवाद कर सकते हैं जो अक्सर पाठ में स्पष्ट रूप से व्यक्त नहीं किए जा सकते हैं। मुझे ऐसा लगता है कि यह चर्चा करने के लिए उपयुक्त जगह नहीं है कि एक अच्छे भूखंड के गठन, लाभ और नुकसान क्या हैं, लेकिन अगर आप यहां ध्यान नहीं देते हैं

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

अब सवाल का जवाब देने के लिए ,

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

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

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

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

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

अंत में, मैं अपने अधिकांश काम कमांड-लाइन से करता हूं ताकि विभिन्न उपकरणों को मैं बैश या अजगर के साथ उपयोग कर एकीकृत कर सकूं।


3

मेरा त्वरित वोट QtiPlot के लिए है।

हालांकि यह सही नहीं है, यह GUI सहजता का सबसे अच्छा संयोजन प्रदान करता है, साथ ही अजगर स्क्रिप्टिंग के साथ इसलिए आप वास्तव में क्या कर रहे हैं "Qtiplot / Python / (Illustrator या Inkscape)"। Qtiplot एक्स्टेंसिबल है, इसलिए आप अपनी स्क्रिप्ट / मैक्रोज़ बना सकते हैं जो डेटा को खोलने और प्रोसेस करने के लिए अजगर कमांड चला सकते हैं और फिर उन्हें एक टेबल में डंप कर सकते हैं। फिर आप उन्हें मैन्युअल रूप से या स्वचालित रूप से प्लॉट कर सकते हैं। इंटरनेट उपलब्ध टाइपसेट्टर, या स्थानीय टाइप्टर के साथ LaTeX टाइपसेटिंग के साथ काम करने के लिए इसे कॉन्फ़िगर करना भी संभव है, इसलिए आप अपने प्लॉट टाइटल / एक्सिस / मार्कअप में गणित के फॉर्मूले डाल सकते हैं।

तब भूखंडों को आपके इच्छित किसी भी प्रारूप में निर्यात किया जा सकता है, लेकिन जो प्रारूप सबसे अच्छा काम करता है वह निस्संदेह एसवीजी है। एसवीजी फाइलों को आप चाहें तो इंकस्केप में छुआ जा सकता है, जिसमें एलईटीएक्स टाइपिंग की क्षमता भी है।

जबकि MatPlotLib महान है, इसका सबसे बड़ा ड्रा बैक हैंड-कोड बिल्कुल सब कुछ है (किसी भी स्क्रिप्टिंग प्लॉटिंग सॉल्यूशन की तरह)। QtiPlot महान है क्योंकि आप डेटा प्रसंस्करण को स्क्रिप्टिंग / स्वचालित कर सकते हैं और सभी महान पायथन कार्यक्षमता के साथ प्लॉटिंग कर सकते हैं, और फिर एक रफ कट प्लॉट को गुई से गुजार सकते हैं जो आपको इसे हाथ से मोड़ने और सभी प्रकार की गाई कटिंग / पेस्टिंग / हेरफेर करने की अनुमति देगा। डेटा विश्लेषण के मामले के आधार पर किसी मामले में यह बहुत तेज है। आप स्क्रिप्टिंग के साथ आयाम भी ठीक से सेट कर सकते हैं, और GUI के साथ आयामों में हेरफेर भी कर सकते हैं, कुछ ऐसा जो आप matplotlib के साथ नहीं कर सकते।

मुझे लगता है कि यह इस बात पर निर्भर करता है कि आप QtiPlot प्लॉटिंग समाधानों के बारे में कैसा महसूस करते हैं। मैंने इसे बहुत सक्षम पाया है, लेकिन यह सभी एक बहुत ही कठिन सीखने की अवस्था है।


3

मुझे आश्चर्य है कि किसी ने भी नीको श्लोमर के उत्कृष्ट उपकरण matlab2tikz और matplotlib2tikz का अभी तक उल्लेख नहीं किया है। यदि आप दस्तावेज़ की तैयारी के लिए LaTeX का उपयोग कर रहे हैं और या तो डेटा प्रोसेसिंग के लिए Matlab या Python, तो आप आसानी से उच्च गुणवत्ता वाले वेक्टर प्लॉट प्राप्त कर सकते हैं, जिसे आप अपने दिल की सामग्री के लिए प्रक्रिया पोस्ट कर सकते हैं:

  1. मैटलैब या पायथन में अपने भूखंडों को तैयार करें, जिसमें कुल्हाड़ियों, लेबल, किंवदंतियों आदि शामिल हैं। TeX स्वरूपण के बारे में चिंता न करें।
  2. पुकार matlab2tikz('figure.tex')(या matplotlib2tikz)।
  3. figure.texस्वाद के लिए संपादित करें (उचित गणित के साथ लेबल पाठ को बदलें, रंग, लाइन की चौड़ाई, किंवदंती प्लेसमेंट, अक्ष शैली आदि), pgfplots मैनुअल (या TeX स्टेक्सएक्सचेंज पर pgfplots पर कई सवाल ) देखें।
  4. आपके चित्र में, के बजाय includegraphics, \input{figure.tex}(और \usepackage{pgfplots}प्रस्तावना में शामिल करना न भूलें )।
  5. प्रस्तुत करने के लिए, एक पीडीएफ में अपने आंकड़ा बेक करने और बस की जगह बाह्यीकरण पुस्तकालय (मैनुअल के अध्याय 7 देखें) का उपयोग \input{figure.tex}करके \includegraphics{figure.pdf}

2

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


0

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

एक्सेल का उपयोग करने के लिए एक आम गलती है। नहीं। यह लेआउट, एक्स रेंज, कलर मैप को याद नहीं करता है। यह चेतन नहीं करता है। यह डेटा के साथ काम करने के लिए बदसूरत भारी स्प्रेडशीट का उपयोग करता है।

बेशक आपको एक ऐसा टूल नहीं मिलेगा जो पोस्ट-प्रोसेसिंग और टेक्स्ट एडिटिंग दोनों करता हो, और आपके प्रकाशनों के लिए एक उचित टेक्स्ट एडिटर चुनना एक और महत्वपूर्ण सवाल है। MS Word का उपयोग न करें, इसका उद्धरण प्रबंधक बदसूरत है। मैं ऑपरेटिंग सिस्टम के लिए उपलब्ध LyX या किसी अन्य लेटेक्स टूल का उपयोग कर रहा हूं।

ओह, और जब आपको पीडीएफ प्रकाशित करना हो, तो LaTeX, Word या पठनीय गणित के साथ जो भी प्रारूप हो उसका लिंक शामिल करें। पीडीएफ में, यह नहीं है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.