Matplotlib: वर्तमान आकृति कैसे सेट करें?


83

यह उम्मीद है कि एक सरल सवाल है, लेकिन मैं इसे समझ नहीं सकता। मैं 2 आंकड़े दिखाने के लिए matplotlib का उपयोग करना चाहता हूं और फिर अंतःक्रियात्मक रूप से उनका उपयोग करना चाहता हूं। मैं इसके साथ आंकड़े बनाता हूं:

import matplotlib
import pylab as pl

f1 = pl.figure()
f2 = pl.figure()

और MATLAB की तरह pyplot इंटरफ़ेस का उपयोग दोनों आंकड़ों में साजिश और आकर्षित करने के लिए कर सकते हैं। साथ में

current_figure = pl.gcf()

मैं वर्तमान में pyplot इंटरफ़ेस के लिए सक्रिय आंकड़ा निर्धारित कर सकता हूं, इस पर निर्भर करता है कि मैंने किस आंकड़े पर क्लिक किया है। अब मैं pyplot इंटरफ़ेस के साथ पहले आकृति में कुछ आकर्षित करना चाहता हूं, लेकिन वर्तमान आंकड़ा या तो उनमें से हो सकता है। तो क्या ऐसा कुछ है?

pl.set_current_figure(figure)

या कोई वर्कअराउंड? (मुझे पता है कि मैं ऑब्जेक्ट ओरिएंटेड इंटरफ़ेस का उपयोग कर सकता हूं, लेकिन इंटरएक्टिव सामान के लिए बस प्लॉट (x, y) जैसे कमांड का उपयोग करना बहुत अच्छा है)

जवाबों:


96

आप बस के f1साथ नए वर्तमान आंकड़े के रूप में आंकड़ा निर्धारित कर सकते हैं :

pl.figure(f1.number)

एक अन्य विकल्प आंकड़ों को नाम (या संख्या) देना है, जो कोड को पढ़ने में आसान बनाने में मदद कर सकता है:

pl.figure("Share values")
# ... some plots ...
pl.figure("Profits")
# ... some plots ...

pl.figure("Share values")  # Selects the first figure again

वास्तव में, आंकड़ा "संख्या" तार हो सकता है, जो कि स्पष्ट रूप से अधिक सरल संख्याएं हैं।

पुनश्च : pyplot के बराबर pylab.figure()है matplotlib.pyplot.figure()


2
वहाँ एक अच्छा तरीका है यह matplotlib.figure का उपयोग कर।
टाइलेथेमाइलर

@tylerthemiler: हाँ, लेकिन यह होगा matplotlib.pyplot.figure()
एरिक ओ लेबिगॉट

यदि आप कुल्हाड़ियों के साथ एक ही काम करना चाहते हैं, तो बस pylab.sca(my_axis)("वर्तमान अक्ष सेट करें") का उपयोग करें।
पिहलबे

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