मैटप्लॉटलिब वृत्तों को दर्शाने के कई तरीके प्रदान करता है, जिनमें से प्रत्येक की अपनी ताकत और कमजोरियाँ हैं। यह लेख तीन प्रमुख विधियों का पता लगाता है, उनकी दक्षता और विभिन्न अनुप्रयोगों के लिए उपयुक्तता की तुलना करता है।
विषयवस्तु की तालिका
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
विधि को आम तौर पर इसकी दक्षता और स्पष्टता के लिए अनुशंसित किया जाता है। अन्य विधियाँ वैकल्पिक दृश्य और विभिन्न प्लॉटिंग तकनीकों में अंतर्दृष्टि प्रदान करती हैं।