publishable छवियों के उत्पादन के लिए अच्छा (मुफ्त) सॉफ्टवेयर?


11

मैं दिए गए मॉडल के खिलाफ सटीकता की तुलना के लिए अभी Matlab का उपयोग करके 1d और 2d छवियों का उत्पादन कर रहा हूं। मुझे अपने तरीकों की तुलना मानक गाऊसी .wfn मॉडल के साथ करने की आवश्यकता है और मैं एक अणु के घनत्व के साथ-साथ लैपेलियन के घनत्व का विश्लेषण करके ऐसा करने जा रहा हूं।

मैं अपने सन्निकटन में मतभेदों की 2-डी छवियों का निर्माण करने में दिलचस्पी रखता हूँ .wfn सन्निकटन (संभवतः समोच्च मानचित्र के माध्यम से?) और बॉन्ड पथ के साथ गुणों (घनत्व, लैपलियन, आदि) में भी रुचि रखता हूं और दो परमाणुओं के साथ सीधी रेखा।

जैसा कि मैंने पहले कहा था, मैं वर्तमान में अपनी छवियों का निर्माण करने के लिए मतलाब का उपयोग कर रहा हूं, हालांकि ये चित्र ज्यादातर मेरे और मेरे सहयोगियों के लिए हैं। वे छवियों के प्रकार प्रतीत नहीं होते हैं जो मैं अक्सर कागजात और अन्य प्रकाशनों में देखता हूं।

प्रकाशन-गुणवत्ता ग्राफ़ और चित्र बनाने के लिए मुझे किस प्रकार के सॉफ़्टवेयर का उपयोग करना चाहिए (या दूसरों का उपयोग करना चाहिए)?


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

जवाबों:


14

मैं व्यक्तिगत रूप से से सफर तय किया है gnuplot को matplotlib साथ PGFPlots एक मध्यवर्ती कदम के रूप में।

मैं माटप्लोटलिब के सभी पहलुओं को नाम देने की कोशिश करूंगा जो मुझे पसंद हैं।

  • यह बहुत बहुमुखी है। आप लाइन या स्कैटर प्लॉट तक सीमित नहीं हैं, आप आसानी से बार प्लॉट, इमेज (मैट्रिक्स विज़ुअलाइज़ेशन!), बेसिक 3 डी प्लॉटिंग और यहां तक ​​कि कुछ एनीमेशन भी कर सकते हैं।

  • आप अपने Python अनुप्रयोगों के लिए GUI के रूप में Matplotlib का उपयोग कर सकते हैं।

  • LaTeX समर्थित है।
  • यह कई आउटपुट प्रारूपों का समर्थन करता है (Gnuplot के साथ दर्द मुक्त पीडीएफ पाने की कोशिश करें)।
  • Matplotlib का उपयोगकर्ता आधार व्यापक है। आपको इंटरनेट पर यथोचित मदद मिलती है।
  • यह सीखने के लिए काफी आसान है।
  • पायथन लाइब्रेरी होने के नाते, आपके पास हाथ में पायथन की शक्ति है (उदाहरण के लिए जिसका अर्थ है कि आप आसानी से पाठ या HDF5 डेटा लोड कर सकते हैं या साइथॉन / f2py जैसे आवरणों का उपयोग करके, सी / फ़ोर्टन में लिखे गए संकलित कार्यक्रमों द्वारा लिखित बाइनरी डेटा लोड कर सकते हैं) ।

हालाँकि, मुझे हमेशा ऐसे आंकड़े पसंद आए हैं जो लाटेक्स दस्तावेजों में मूल रूप से एकीकृत होते हैं। यहां, सिद्धांत रूप में, पीजीएफपीलॉट्स एक्सेल। हालांकि, यह धीमा है और (मैटलोट्लिब की तुलना में) सीमित है।

इसलिए मैं एक नया समाधान पसंद करने आया हूं: (प्रायोगिक) पीजीएफ मैटलोट्लिब के लिए बैकएंड । इसका उपयोग करते हुए, प्लॉट्स को खुद Matplotlib द्वारा बनाया जाता है, जबकि अक्ष और लेबल PGFPlots द्वारा स्थापित किए जाते हैं और अंत में LaTeX द्वारा तैयार किए जाते हैं। आप इसका उपयोग या तो पीडीएफ आउटपुट के लिए एक एम्बेडिंग लॉटेक्स दस्तावेज़ के बिना या पीजीएफ आउटपुट के लिए कर सकते हैं जिसे आप अपने लाटेकएक्स दस्तावेज़ में शामिल कर सकते हैं।

मुझे लग रहा है कि मैंने ऊपर वर्णित समाधान मेरे उपयोग के मामलों (समय के लिए) का समाधान है।


कुछ खूबसूरत प्लॉट बनाने के लिए मैटलोट्लिब बनाया जा सकता है। देखें matplotlib.org/gallery.html
meawoppl

7

Item Matlab का उपयोग करता है और फिर परिणाम को epsफ़ाइल के रूप में सहेजता है print -depsc2 -f1 fig। यह फिगर 1 को epsफाइल के नाम से सेव करता है fig.eps। वहाँ भी matlab फ़ाइल विनिमय से Plot2Svg है कि के रूप में बचा सकता है svg। यह वास्तव में अच्छा है क्योंकि आप फ़ाइलों को Inkscapeअन्य वेक्टर ग्राफिक्स सॉफ़्टवेयर में खोल सकते हैं और उन्हें संपादित कर सकते हैं।

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

अंत में, यदि आप सॉफ़्टवेयर के लिए भुगतान करने को तैयार हैं, तो आप TecPlot का उपयोग कर सकते हैं, लेकिन यह आपके लिए एक हाथ और एक पैर का खर्च आएगा!


1
TecPlot का उपयोग करने से पहले, Visit या ParaView का उपयोग करें। वे बस के रूप में शक्तिशाली हैं और स्वतंत्र हैं। वे बहुत उच्च गुणवत्ता वाले दृश्य भी उत्पन्न कर सकते हैं।
वोल्फगैंग बैंगर्थ

@Wolfgang - मेरे अनुभव में, TecPlot बेहतर है। यह आपको वेक्टर प्रारूप (पैराव्यू नहीं करता है) को बचाने की अनुमति देता है, और यह बहुत अच्छे अच्छे वेक्टर भूखंडों का उत्पादन करता है।
एकिड

@ काकिद: मुझे यह स्वीकार करना चाहिए कि मैं पारेव को अच्छी तरह से नहीं जानता। मैं विज़िट का उपयोग करता हूं जो बहुत अच्छे वेक्टर भूखंडों का उत्पादन करता है। मैं सदिश प्रारूपों के बारे में नहीं जानता, हालाँकि। यह उच्च संकल्प में भूखंडों को बचा सकता है, हालांकि।
वोल्फगैंग बैंगर्थ

7

यदि आप Gnuplot के सीखने की अवस्था को दूर करने के लिए तैयार हैं , तो आप इसके साथ शीर्ष-गुणवत्ता के आंकड़े उत्पन्न कर सकते हैं (जैसा कि http://www.gnuplotting.org/ में उदाहरण दिया गया है )। विशेष रूप से, मैं epslatex टर्मिनल का उपयोग करने की सलाह दूंगा क्योंकि यह आपको आंकड़ा में सभी पाठ को प्रस्तुत करने के लिए LaTeX का उपयोग करने की अनुमति देता है (किसी भी गणितीय संकेतन सहित जिसे आप इनपुट करना चाहते हैं)।

यदि आप MATLAB से चिपके रहना चाहते हैं, तो आप matlab2tikz को आज़माना चाहते हैं । यह एक स्क्रिप्ट है जो MATLAB के आंकड़ों को Tikz इलस्ट्रेशन में परिवर्तित करती है


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