क्या कोई मुझे समझा सकता है कि वास्तव में इसका उपयोग क्या है %matplotlib inline
?
क्या कोई मुझे समझा सकता है कि वास्तव में इसका उपयोग क्या है %matplotlib inline
?
जवाबों:
%matplotlib
IPython में एक मैजिक फंक्शन है। सुविधा के लिए आपको पढ़ने के लिए संबंधित दस्तावेज यहाँ उद्धृत करूँगा:
IPython में पूर्वनिर्धारित 'मैजिक फ़ंक्शंस' का एक सेट है जिसे आप कमांड लाइन स्टाइल सिंटैक्स के साथ कॉल कर सकते हैं। दो प्रकार के जादूगर होते हैं, रेखा-उन्मुख और कोशिका-उन्मुख। लाइन मैजिक्स% वर्ण के साथ उपसर्ग किए जाते हैं और OS कमांड-लाइन कॉल की तरह काम करते हैं: उन्हें एक तर्क के रूप में मिलता है बाकी लाइन, जहां तर्क को कोष्ठक या उद्धरण के बिना पारित किया जाता है। रेखा के जादूगर परिणाम लौटा सकते हैं और एक असाइनमेंट के दाहिने हाथ की ओर में इस्तेमाल किया जा सकता है। सेल मैजिक्स एक डबल %% के साथ उपसर्ग कर रहे हैं, और वे ऐसे कार्य हैं जो एक तर्क के रूप में न केवल शेष पंक्ति में आते हैं, बल्कि एक अलग तर्क में इसके नीचे की रेखाएं भी हैं।
%matplotlib inline
matplotlib के बैकएंड को 'इनलाइन' बैकएंड पर सेट करता है :
इस बैकएंड के साथ, प्लॉटिंग कमांड्स का आउटपुट, ज्यूपिटर नोटबुक जैसे फ्रंटलाइन के भीतर इनलाइन प्रदर्शित होता है, सीधे कोड सेल के नीचे जो इसे निर्मित करता है। परिणामस्वरूप भूखंडों को फिर नोटबुक दस्तावेज़ में संग्रहीत किया जाएगा।
Using इनलाइन ’बैकएंड का उपयोग करते समय, कोड के बगल में, आपके matplotlib ग्राफ को आपकी नोटबुक में शामिल किया जाएगा। यह भी पढ़ने के लायक हो सकता है कि अपने कोड में इसका उपयोग कैसे करें पर संदर्भ के लिए IPython नोटबुक matplotlib प्लॉट इनलाइन कैसे बनाएं ।
आप के रूप में अच्छी अन्तरक्रियाशीलता चाहते हैं, आप उपयोग कर सकते हैं nbagg बैकएंड साथ %matplotlib notebook
(IPython 3.x में) के रूप में वर्णित, यहाँ ।
बशर्ते आप IPython चला रहे हों, %matplotlib inline
आपके प्लॉट आउटपुट प्रदर्शित होंगे और नोटबुक में संग्रहीत होंगे।
प्रलेखन के अनुसार
इसे सेट करने के लिए, किसी भी प्लॉटिंग या आयात के
matplotlib
प्रदर्शन से पहले आपको इसे निष्पादित करना होगा%matplotlib magic command
। यह सही ढंग से हाथ से काम करने के लिए IPython के लिए आवश्यक पीछे के दृश्यों का सेटअप करता हैmatplotlib
; हालाँकि, यह वास्तव में किसी भी पायथन आयात कमांड को निष्पादित नहीं करता है, अर्थात, नामस्थान में कोई नाम नहीं जोड़े जाते हैं।IPython द्वारा प्रदान किया गया एक विशेष रूप से दिलचस्प बैकएंड,
inline
बैकएंड है। यह केवल Jupyter नोटबुक और Jupyter QtConsole के लिए उपलब्ध है। इसे निम्नानुसार लगाया जा सकता है:%matplotlib inline
इस बैकएंड के साथ, प्लॉटिंग कमांड्स का आउटपुट, ज्यूपिटर नोटबुक जैसे फ्रंटलाइन के भीतर इनलाइन प्रदर्शित होता है, सीधे कोड सेल के नीचे जो इसे निर्मित करता है। परिणामस्वरूप भूखंडों को फिर नोटबुक दस्तावेज़ में संग्रहीत किया जाएगा।
यदि आप अपने जुपिटर नोटबुक में भूखंड जोड़ना चाहते हैं, तो %matplotlib inline
एक मानक समाधान है। और अन्य मैजिक कमांड हैं matplotlib
जो जुपिटर के भीतर इंटरएक्टिवली इस्तेमाल करेंगे ।
%matplotlib
: कोई भी plt
प्लॉट कमांड अब एक फिगर विंडो को खोलने का कारण बनेगा, और प्लॉट को अपडेट करने के लिए आगे कमांड को चलाया जा सकता है। कुछ परिवर्तन स्वचालित रूप से आकर्षित नहीं होंगे, अपडेट को मजबूर करने के लिए, उपयोग करेंplt.draw()
%matplotlib notebook
: नोटबुक के भीतर एम्बेडेड इंटरैक्टिव भूखंडों को जन्म देगा, आप आंकड़ा ज़ूम और आकार बदल सकते हैं
%matplotlib inline
: केवल नोटबुक में स्थिर चित्र बनाएं
IPython 5.0 और matplotlib 2.0 के साथ शुरू करने से आप IPython के विशिष्ट जादू के उपयोग से बच सकते हैं और उपयोग कर सकते हैं
matplotlib.pyplot.ion()/matplotlib.pyplot.ioff()
जिनके पास IPython के बाहर काम करने के फायदे भी हैं।
inline
, बाहरी खिड़कियों में भूखंड उत्पन्न होते हैं और आपको नोटबुक में उन्हें दिखाने के लिए डिस्प्ले () का उपयोग करने की आवश्यकता होती है।
यदि आपको नहीं पता कि बैकएंड क्या है, तो आप इसे पढ़ सकते हैं: https://matplotlib.org/tutorials/introductory/usage.html#backends
कुछ लोग पाइथन शेल से अंतःक्रियात्मक रूप से मेटप्लोटलिब का उपयोग करते हैं और जब वे कमांड टाइप करते हैं तो विंडो को पॉप अप करने की साजिश रचते हैं। कुछ लोग जुपिटर नोटबुक चलाते हैं और त्वरित डेटा विश्लेषण के लिए इनलाइन भूखंडों को आकर्षित करते हैं। दूसरों ने समृद्ध अनुप्रयोगों के निर्माण के लिए wxpython या pygtk जैसे ग्राफिकल यूजर इंटरफेस में matplotlib को एम्बेड किया। संख्यात्मक सिमुलेशन से पोस्टस्क्रिप्ट छवियों को उत्पन्न करने के लिए कुछ लोग बैच लिपियों में matplotlib का उपयोग करते हैं, और फिर भी अन्य लोग ग्रेफ़िक रूप से रेखांकन करने के लिए वेब एप्लिकेशन सर्वर चलाते हैं। इन सभी उपयोग के मामलों का समर्थन करने के लिए, matplotlib विभिन्न आउटपुट को लक्षित कर सकता है, और इनमें से प्रत्येक क्षमता को बैकएंड कहा जाता है; "फ्रंटेंड" कोड का सामना करने वाला उपयोगकर्ता है, यानी, प्लॉटिंग कोड, जबकि "बैकएंड" आंकड़े बनाने के लिए सभी कड़ी मेहनत करता है।
इसलिए जब आप% matplotlib इनलाइन लिखते हैं, तो यह इनलाइन बैकएंड को सक्रिय करता है। जैसा कि पिछले पोस्टों में चर्चा की गई है:
इस बैकएंड के साथ, प्लॉटिंग कमांड्स का आउटपुट, ज्यूपिटर नोटबुक जैसे फ्रंटलाइन के भीतर इनलाइन प्रदर्शित होता है, सीधे कोड सेल के नीचे जो इसे निर्मित करता है। परिणामस्वरूप भूखंडों को फिर नोटबुक दस्तावेज़ में संग्रहीत किया जाएगा।
टी एल; डॉ
%matplotlib inline
- आउटपुट इनलाइन प्रदर्शित करता हैIPython कर्नेल में कोड निष्पादित करके प्लॉट प्रदर्शित करने की क्षमता होती है। IPython कर्नेल को इस कार्यक्षमता प्रदान करने के लिए matplotlib प्लॉटिंग लाइब्रेरी के साथ मूल रूप से काम करने के लिए डिज़ाइन किया गया है।
%matplotlib
एक मैजिक कमांड है जो IPython के लिए सही तरीके से हाथ से काम करने के लिए आवश्यक बैक-ऑफ-द-सीन सेटअप करता हैmatplotlib
; यह किसी भी पायथन आयात कमांड को निष्पादित नहीं करता है, अर्थात, नामस्थान में कोई नाम नहीं जोड़ा जाता है।
%matplotlib
(केवल ज्यूपिटर नोटबुक और जुपिटर QtConsole के लिए उपलब्ध)
%matplotlib inline
(मान्य मान 'GTK3Agg', 'GTK3Cairo', 'MacOSX', 'nbAgg', 'Qt4Agg', 'Qt4Cairo', 'Qt5Agg', 'Qt5Cairo', 'TkAgg', 'TkCairo', 'WebAgg', 'WX', 'WXAgg', 'WXCairo', 'agg', 'cairo', 'pdf', 'pgf', 'ps', 'svg', 'template'
)
%matplotlib gtk
उदाहरण - GTK3Agg - GTK 3.x कैनवस को एक एग प्रदान करना (PyGObject और pycairo या cairocffi की आवश्यकता है)।
Matplotlib इंटरैक्टिव बैकेंड के बारे में अधिक जानकारी: यहाँ
के साथ शुरू करने
IPython 5.0
औरmatplotlib 2.0
आप IPython के विशिष्ट जादू और उपयोग से बच सकते हैंmatplotlib.pyplot.ion()
/matplotlib.pyplot.ioff()
जिनके पास IPython के बाहर काम करने के फायदे भी हैं।
बशर्ते आप Jupyter नोटबुक चला रहे हों,% matplotlib इनलाइन कमांड आपके प्लॉट आउटपुट को नोटबुक में दिखाई देगा, इसे स्टोर भी किया जा सकता है।
यह लिखना अनिवार्य नहीं है। यह मेरे लिए ( %matplotlib
) जादू समारोह के बिना ठीक काम किया । मैं Sipder संकलक का उपयोग कर रहा हूं, एक जो एनाकोंडा के साथ आता है।