Data Visualization

मैटप्लॉटलिब में कुशल वृत्त आरेखण

Spread the love

मैटप्लॉटलिब वृत्तों को दर्शाने के कई तरीके प्रदान करता है, जिनमें से प्रत्येक की अपनी ताकत और कमजोरियाँ हैं। यह लेख तीन प्रमुख विधियों का पता लगाता है, उनकी दक्षता और विभिन्न अनुप्रयोगों के लिए उपयुक्तता की तुलना करता है।

विषयवस्तु की तालिका

  1. matplotlib.patches.Circle का उपयोग करना
  2. वृत्त समीकरण से प्लॉट करना
  3. स्कैटर प्लॉट से सन्निकटन

1. matplotlib.patches.Circle का उपयोग करना

यह सबसे सरल और आम तौर पर पसंदीदा तरीका है। matplotlib.patches.Circle क्लास एक वृत्त ऑब्जेक्ट बनाता है जिसे सीधे आपके प्लॉट में जोड़ा जा सकता है। यह कुशल है और स्वच्छ, वेक्टर-आधारित ग्राफिक्स बनाता है।


import matplotlib.pyplot as plt
from matplotlib.patches import Circle

fig, ax = plt.subplots()

center_x, center_y = 0, 0
radius = 2

circle = Circle((center_x, center_y), radius, facecolor='skyblue', edgecolor='black', linewidth=2)
ax.add_patch(circle)

ax.set_xlim([-3, 3])
ax.set_ylim([-3, 3])
ax.set_aspect('equal') # यह सुनिश्चित करता है कि वृत्त वृत्ताकार दिखाई दे
plt.title('matplotlib.patches.Circle का उपयोग करके वृत्त')
plt.show()

2. वृत्त समीकरण से प्लॉट करना

एक वृत्त को उसके समीकरण द्वारा परिभाषित किया जा सकता है: (x – h)² + (y – k)² = r², जहाँ (h, k) केंद्र है और r त्रिज्या है। हम इस समीकरण को संतुष्ट करने वाले x और y निर्देशांक उत्पन्न कर सकते हैं और उन्हें प्लॉट कर सकते हैं।


import matplotlib.pyplot as plt
import numpy as np

h, k = 0, 0
r = 2

theta = np.linspace(0, 2 * np.pi, 200)  # अधिक चिकना वृत्त के लिए अधिक बिंदु
x = h + r * np.cos(theta)
y = k + r * np.sin(theta)

plt.plot(x, y)
plt.xlabel("x")
plt.ylabel("y")
plt.title('समीकरण से वृत्त')
plt.gca().set_aspect('equal')
plt.show()

3. स्कैटर प्लॉट से सन्निकटन

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


import matplotlib.pyplot as plt
import numpy as np

center_x, center_y = 0, 0
radius = 2
num_points = 500

angles = np.random.uniform(0, 2 * np.pi, num_points)
radii = np.random.uniform(0, radius, num_points)
x = center_x + radii * np.cos(angles)
y = center_y + radii * np.sin(angles)

plt.scatter(x, y, s=5) # बिंदु आकार के लिए 's' समायोजित करें
plt.xlabel("x")
plt.ylabel("y")
plt.title('स्कैटर प्लॉट का उपयोग करके वृत्त सन्निकटन')
plt.gca().set_aspect('equal')
plt.show()

matplotlib.patches.Circle विधि को आम तौर पर इसकी दक्षता और स्पष्टता के लिए अनुशंसित किया जाता है। अन्य विधियाँ वैकल्पिक दृश्य और विभिन्न प्लॉटिंग तकनीकों में अंतर्दृष्टि प्रदान करती हैं।

प्रातिक्रिया दे

आपका ईमेल पता प्रकाशित नहीं किया जाएगा. आवश्यक फ़ील्ड चिह्नित हैं *