पारदर्शी पृष्ठभूमि के साथ matplotlib से भूखंडों का निर्यात कैसे करें?


108

मैं कुछ रेखांकन बनाने के लिए matplotlib का उपयोग कर रहा हूं और दुर्भाग्य से मैं सफेद पृष्ठभूमि के बिना उन्हें निर्यात नहीं कर सकता।

ठोस सफेद पृष्ठभूमि के साथ नमूना साजिश

दूसरे शब्दों में, जब मैं इस तरह एक भूखंड को निर्यात करता हूं और इसे दूसरी छवि के शीर्ष पर रखता हूं, तो सफेद पृष्ठभूमि छिप जाती है जो इसके माध्यम से दिखाने की अनुमति देने के बजाय इसके पीछे क्या है। इसके बजाय मैं पारदर्शी पृष्ठभूमि वाले भूखंडों का निर्यात कैसे कर सकता हूं?

जवाबों:


177

छवि को png फ़ाइल के रूप में सहेजने के लिए savefigकीवर्ड तर्क के साथ matplotlib फ़ंक्शन का उपयोग करें transparent=True

In [30]: x = np.linspace(0,6,31)

In [31]: y = np.exp(-0.5*x) * np.sin(x)

In [32]: plot(x, y, 'bo-')
Out[32]: [<matplotlib.lines.Line2D at 0x3f29750>]            

In [33]: savefig('demo.png', transparent=True)

परिणाम: demo.png

बेशक, वह साजिश पारदर्शिता प्रदर्शित नहीं करती है। यहां ImageMagick displayकमांड का उपयोग करके प्रदर्शित PNG फ़ाइल का स्क्रीनशॉट है । चेकरबोर्ड पैटर्न वह पृष्ठभूमि है जो पीएनजी फ़ाइल के पारदर्शी भागों के माध्यम से दिखाई देती है।

स्क्रीनशॉट प्रदर्शित करें


2

Png फाइलें पारदर्शिता को संभाल सकती हैं। तो आप इस प्रश्न का उपयोग कर सकते हैं प्लॉट को इमेज फाइल में सेव करने के बजाय इसे Matplotlib का उपयोग करके प्रदर्शित करें ताकि आप pngफाइल के रूप में ग्राफ को बचा सकें ।

और यदि आप सभी सफेद पिक्सेल को पारदर्शी बनाना चाहते हैं, तो यह एक और प्रश्न है: सभी सफेद पिक्सेल को पारदर्शी बनाने के लिए PIL का उपयोग करना?

यदि आप एक संपूर्ण क्षेत्र को पारदर्शी बनाना चाहते हैं, तो यह प्रश्न है: और फिर इस प्रश्न की तरह पीआईएल पुस्तकालय का उपयोग करें : पायथन पीआईएल: पीएनजी में क्षेत्र को पारदर्शी कैसे बनाया जाए? ताकि आपके ग्राफ को पारदर्शी बनाया जा सके।


धन्यवाद, लेकिन यह मदद नहीं करता है। मुझे पता था कि png पारदर्शी होने में सक्षम है लेकिन matplotlib का आउटपुट नहीं है। साथ ही आपका सुझाव केवल उस मामले को कवर करता है जब आप आयतों को हटाना चाहते हैं। मैं चाहता हूं कि मेरी साजिश को बचाया जाए और मेरी पृष्ठभूमि को हटा दिया जाए।

2
जहां तक ​​मुझे याद है कि आप सेट करते हैं जो एक पींग में पारदर्शी रंग है। फ़ाइल। सफेद रंग को पारदर्शिता रंग के रूप में सेट करें और वहां आप जाएं।
स्टीफन रोलैंड

मुझे लगता है कि 255 सफेद है और जब मैं इसके साथ जाता हूं तो मुझे अपना प्लॉट खो जाता है!
1

यह अजीब है। केवल आपके भूखंड? काले में ग्राफ और इकाइयों में काले और नीले वक्र भी?
स्टीफन रोलैंड

1
सभी श्वेत पिक्सेल को पारदर्शिता में बदलने के बारे में यह सवाल है (जैसे मैं आपसे जुड़ा हुआ मुखौटा का उपयोग नहीं कर रहा हूं) stackoverflow.com/questions/765736/…
स्टीफन रोलैंड
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.