Matplotlib - ऑब्जेक्ट-ओरिएंटेड इंटरफ़ेस

जबकि जल्दी से भूखंडों को उत्पन्न करना आसान है matplotlib.pyplotमॉड्यूल, वस्तु-उन्मुख दृष्टिकोण के उपयोग की सिफारिश की जाती है क्योंकि यह आपके भूखंडों के अधिक नियंत्रण और अनुकूलन देता है। अधिकांश कार्य भी इसमें उपलब्ध हैंmatplotlib.axes.Axes कक्षा।

अधिक औपचारिक ऑब्जेक्ट-ओरिएंटेड विधि का उपयोग करने के पीछे मुख्य विचार यह है कि ऑब्जेक्ट ऑब्जेक्ट बनाएं और फिर उस ऑब्जेक्ट से केवल विधियों या विशेषताओं को कॉल करें। यह दृष्टिकोण एक कैनवास से निपटने में बेहतर मदद करता है, जिस पर कई भूखंड हैं।

ऑब्जेक्ट-ओरिएंटेड इंटरफ़ेस में, Pyplot का उपयोग केवल कुछ कार्यों जैसे कि फिगर निर्माण के लिए किया जाता है, और उपयोगकर्ता स्पष्ट रूप से आकृति और कुल्हाड़ियों की वस्तुओं का ट्रैक रखता है और रखता है। इस स्तर पर, उपयोगकर्ता आंकड़े बनाने के लिए Pyplot का उपयोग करता है, और उन आंकड़ों के माध्यम से, एक या अधिक कुल्हाड़ियों वाली वस्तुओं का निर्माण किया जा सकता है। इन कुल्हाड़ियों वस्तुओं का उपयोग तब अधिकांश प्लॉटिंग क्रियाओं के लिए किया जाता है।

शुरू करने के लिए, हम एक आंकड़ा उदाहरण बनाते हैं जो एक खाली कैनवास प्रदान करता है।

fig = plt.figure()

अब एक्सिस को फिगर में जोड़ें। add_axes()विधि के लिए बाएं, नीचे, चौड़ाई और आंकड़े की ऊंचाई के अनुरूप 4 तत्वों की सूची ऑब्जेक्ट की आवश्यकता होती है। प्रत्येक संख्या 0 और 1 के बीच होनी चाहिए -

ax=fig.add_axes([0,0,1,1])

X और y अक्ष के साथ ही शीर्षक के लिए लेबल सेट करें -

ax.set_title("sine wave")
ax.set_xlabel('angle')
ax.set_ylabel('sine')

कुल्हाड़ी वस्तु की साजिश () विधि का आह्वान करें।

ax.plot(x,y)

यदि आप Jupyter नोटबुक का उपयोग कर रहे हैं, तो% matplotlib इनलाइन निर्देश जारी करना होगा; pyplot मॉड्यूल का अन्यwisthow () फ़ंक्शन प्लॉट प्रदर्शित करता है।

निम्नलिखित कोड को निष्पादित करने पर विचार करें -

from matplotlib import pyplot as plt
import numpy as np
import math
x = np.arange(0, math.pi*2, 0.05)
y = np.sin(x)
fig = plt.figure()
ax = fig.add_axes([0,0,1,1])
ax.plot(x,y)
ax.set_title("sine wave")
ax.set_xlabel('angle')
ax.set_ylabel('sine')
plt.show()

उत्पादन

कोड की उपरोक्त लाइन निम्नलिखित आउटपुट उत्पन्न करती है -

जुपिटर नोटबुक में चलने पर समान कोड नीचे दिखाए गए अनुसार आउटपुट दिखाता है -