ipython नोटबुक - पाइलैब इनलाइन: एक प्लॉट की ज़ूमिंग


82

यदि इनलाइन सक्रिय है, तो क्या किसी प्लॉट में ज़ूम करना संभव है? विशेष रूप से 3 डी-प्लॉट के घूर्णन और ज़ूमिंग के बारे में एक आवश्यक विशेषता है।

जवाबों:


90

अब mpld3 के लिए धन्यवाद , इनलाइन भूखंडों को ज़ूम करने में सक्षम करना सुपर आसान है!

आपको केवल mpld3 ( pip install mpld3) स्थापित करना है , और फिर इसे अपनी नोटबुक में जोड़ें:

%matplotlib inline
import mpld3
mpld3.enable_notebook()

अब आपके प्लॉट को नीचे बाईं ओर एक टूलबार मेनू मिलेगा, जिसमें आप माउस जूमिंग को सक्षम कर सकते हैं :)


ऐसा लगता है कि 3D प्लॉट अभी तक समर्थित नहीं हैं: github.com/jakevdp/mpld3/issues/223
Théo T

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

2
मैंने इसे अपने ज्यूपिटर नोटबुक 4.2.2 में लागू किया और ज़ूम इन करने पर यह आंकड़ा खाली हो गया। मूल = 'लोअर' को जोड़ने के लिए imshow () कॉल के तर्क के रूप में इसे ठीक किया। (उदाहरण के लिए imshow (रेस, मूल = 'निचला', cmap = cm.gray))
DanGoodrick

6
मेरे लिए काम नहीं करता है। मैं मिल रहा हूँJson serialization error
गुलज़ार

95

आप %matplotlib notebookइसके बजाय अब उपयोग कर सकते हैं %matplotlib inlineऔर आप अपने भूखंडों के साथ बातचीत कर पाएंगे।


1
यह एक बेहतरीन उपाय है। यदि आप इसे आज़माते हैं और यह काम नहीं करता है, तो अपने संस्करण matplotlib की जाँच करें। मुझे लगता है कि यह संस्करण 1.5
jpobst

काम नहीं करता है और साथ ही साथ मैं सबप्लॉट्स के साथ आशा करता हूं; ज़ूम कर सकते हैं और एक व्यक्तिगत सबप्लॉट के लिए पैन कर सकते हैं लेकिन संपूर्ण प्लॉट छवि के आकार को बढ़ा / घटा नहीं सकते। उचित होने के लिए मूल सवाल ऊपर नहीं पूछा गया था।
जोजफ

1
@ijoseph आप पूरी छवि का आकार बढ़ा सकते हैं। प्लॉट के दाहिने निचले कोने को खींचें ..
João Abrantes

4
यदि आपको पहले से ही% matplotlib इनलाइन
Guido

3
मुझे त्रुटि "जावास्क्रिप्ट त्रुटि: आईपीथॉन परिभाषित नहीं है"
बेन

10

वर्तमान में, आप जितने करीब आ सकते हैं, figsizeफ़ंक्शन का उपयोग करके इसे बड़े आकार में फिर से तैयार करना है। यह इंच में आयामों की अपेक्षा करता है, जिसने मुझे पहली बार पकड़ा जब मैंने इसका उपयोग करने की कोशिश की।

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

यदि आप अपने स्थानीय कंप्यूटर पर नोटबुक का उपयोग कर रहे हैं, तो अभी के लिए सबसे आसान विकल्प इनलाइन मोड का उपयोग नहीं करना हो सकता है, इसलिए प्लॉट अलग-अलग विंडो में पॉप अप होते हैं।


1
हाँ यह है - हाल ही में matplotlib के संस्करण के साथ, अब आप nbagg backend का चयन कर सकते हैं।
थॉमस के

9

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

import matplotlib
matplotlib.use('nbagg')
import matplotlib.pyplot as plt

2
मुझे ईमानदारी से लगता है कि यह सबसे अच्छा जवाब है, mpld3 और अधिक सुविधाओं से बेहतर लगता है।
bznein

5

एक और अच्छा उदाहरण जो हाल ही में सामने आया है, वह है नौकरी को साजिश के तहत आउटसोर्स करना:

https://plot.ly/python/3d-plots-tutorial/

उन्हें आपके लिए रेंडरिंग, पैनिंग और जूमिंग को संभालने दें!


0

matplotlib.use('nbagg')मेरे लिए भी काम नहीं किया। मुझे mdplt3काफी धीमा लगा। ज़ूम करने के बजाय, मैंने अपना आंकड़ा (इसे बड़ा बनाते हुए) आकार दिया, इस पोस्ट का उपयोग करके: ipython नोटबुक में प्लॉट की चौड़ाई सेटिंग्स

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