2013-06-02 9 views
5

बनाने के बाद Matplotlib आंकड़े प्रकाशन के लिए परिवर्तन बदलता है मैं Matplotlib में प्रकाशन 'सही' छवियां उत्पन्न करने की समस्या में भाग रहा हूं (यानी फ़ॉन्ट्स, मार्कर आकार, आंकड़े आकार, ticks आदि की संख्या ...) बदल रहा है।चित्र

अनिवार्य रूप से, मैं यहां वर्णित करना चाहता हूं: http://www.scipy.org/Cookbook/Matplotlib/LaTeX_Examples आंकड़े को पहले ही बना दिया गया है। यानी मैं एक ऐसा फ़ंक्शन बनाना चाहता हूं जो चित्रा ऑब्जेक्ट को स्वीकार करता है, और सभी आवश्यक परिवर्तन करता है, जिनमें से कुछ इनपुट तर्क के रूप में उपलब्ध हैं। जब मैं एक पेपर में एक आकृति का उपयोग करने का फैसला करता हूं तो इस तरह मुझे हमेशा अपनी स्क्रिप्ट को संशोधित करने की आवश्यकता नहीं होती है।

क्या यह हासिल करने का कोई आसान तरीका है?

नोट मैं आमतौर पर Ipython का उपयोग कर रहा हूँ।

+1

क्या आप 'tight_layout' के बारे में जानते हैं? – tacaswell

+0

मैं इसका उपयोग नहीं कर रहा हूं - बहुत उपयोगी! –

उत्तर

3

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

हमने कुछ फ़ंक्शंस प्रोग्राम किए हैं ताकि अंत में आपको plot.py स्क्रिप्ट की आवश्यकता हो, जो कि बहुत आसान है, और input.txt सभी जानकारी के साथ। इनपुट फ़ाइल में आप linewidth, label जैसे किसी पैरामीटर का भी उपयोग कर सकते हैं, और बहुत आगे .... लेकिन डिफ़ॉल्ट रूप से यह लिनस्टाइल, मार्कर आदि के लिए प्री-डिफ़ाइंड ऑर्डर का पालन करेगा।

इसके अलावा, आपको matplotlibrc फ़ाइल की अच्छी आवश्यकता है। आपके पास matplotlibrc फाइलें हो सकती हैं क्योंकि स्थानीय निर्देशिका में as explained here पर उच्चतम प्राथमिकता दी जाती है। यह आपको अपने प्लॉटिंग कोड क्लीनर को बनाए रखने के लिए अनुकूलित करने की अनुमति देगा।

The functions commented above (with examples) are available in this link, शायद वे आपको कुछ अंतर्दृष्टि दे सकते हैं।

उन्होंने सबप्लॉट्स, described here के साथ एक समस्या हल की।

+1

के लिए खोज रहा था, लेकिन यदि आप स्थानीय निर्देशिका में 'matplotlibrc' रखते हैं तो इसे किसी अन्य पर उच्च प्राथमिकता है, [जैसा कि यहां बताया गया है] (http://matplotlib.org/users/customizing .html), ताकि आप अपना कोड क्लीनर –

+1

हू रख सकें, हर दिन कुछ सीखें। आपको उस विवरण को शामिल करने के लिए अपना उत्तर संपादित करना चाहिए। – tacaswell

+0

धन्यवाद! मैंने जवाब अपडेट किया! –

1

शायद आप बनाम 1.2.1 में उपलब्ध matplotlib pickling का उपयोग कर सकते हैं।

के रूप में ऊपर के लिंक में कहा:

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

कोई व्यक्तिगत अनुभव है, तथापि

+0

मुझे पता नहीं था कि पिकलिंग नए matplotlib में उपलब्ध था। उपयोगी जानकारी, दुर्भाग्य से जो मैं –

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