Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

Matplotlib में दो लाइन्स के बीच एंगल प्लॉट करने का सर्वोत्तम तरीका

Matplotlib में दो लाइन्स के बीच एंगल प्लॉट करने का सर्वोत्तम तरीका Arc क्लास का उपयोग करके एंगल आर्क बनाना है जो बीच में एंगल प्लॉट करता है।

चरण

  • फिगर का आकार सेट करें और सबप्लॉट्स के बीच पैडिंग एडजस्ट करें।
  • figure() मेथड का उपयोग करके नया फिगर बनाएं या मौजूदा फिगर एक्टिवेट करें।
  • add_subplot() मेथड का उपयोग करके फिगर में '~.axes.Axes' को सबप्लॉट अरेंजमेंट के हिस्से के रूप में जोड़ें।
  • 2D लाइन इंस्टेंसेज l1 और l2 बनाएं।
  • करंट एक्सिस में लाइन्स जोड़ें।
  • एंगल प्लॉट करने के लिए यूजर-डिफाइंड मेथड कॉल करें जो एलिप्टिकल आर्क रिटर्न करता है। आर्क लंबाई लाइन्स के स्लोप्स का उपयोग करके बनाई जा सकती है।
  • add_patch() मेथड का उपयोग करके आर्टिस्ट, यानी arc जोड़ें।
  • फिगर डिस्प्ले करने के लिए show() मेथड का उपयोग करें।

उदाहरण

from matplotlib import pyplot as plt, patches
import math

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

def angle_plot(line1, line2, offset=1.0, color=None, origin=(0, 0), len_x_axis=1, len_y_axis=1):
    xy1 = line1.get_xydata()
    xy2 = line2.get_xydata()
    slope1 = (xy1[1][1] - xy1[0][1]) / float(xy1[1][0] - xy1[0][0])
    angle1 = abs(math.degrees(math.atan(slope1)))
    slope2 = (xy2[1][1] - xy2[0][1]) / float(xy2[1][0] - xy2[0][0])
    angle2 = abs(math.degrees(math.atan(slope2)))
    theta1 = min(angle1, angle2)
    theta2 = max(angle1, angle2)
    angle = theta2 - theta1
    if color is None:
        color = line1.get_color()
    return patches.Arc(origin, len_x_axis * offset, len_y_axis * offset, 0, theta1, theta2, color=color, label=str(angle) + u"\u00b0")

fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)
l1 = plt.Line2D([0, 1], [0, 4], linewidth=1, linestyle="-", color="green")
l2 = plt.Line2D([0, 4.5], [0, 3], linewidth=1, linestyle="-", color="red")
ax.add_line(l1)
ax.add_line(l2)
angle = angle_plot(l1, l2, 0.25)
ax.add_patch(angle)
plt.show()

आउटपुट

दो लाइन्स (हरी और लाल) और उनके बीच का एंगल आर्क दिखाई देगा जिसमें एंगल मान डिग्री में लेबल होगा।

  1. Matplotlib में ओवरलैपिंग लाइन्स कैसे प्लॉट करें? Matplotlib में ओवरलैपिंग लाइन्स कैसे प्लॉट करें?

    ओवरलैपिंग लाइन्स को स्पष्ट दिखाने के लिए alpha (पारदर्शिता) पैरामीटर का उपयोग करें। चरण फिगर साइज़ और ऑटोलेआउट सेट करें। overlapping वेरिएबल में अल्फा वैल्यू स्टोर करें (उदाहरण: 0.15)। दो लाइन्स को अलग-अलग रंग और समान अल्फा के साथ प्लॉट करें। plt.show() से दिखाएं। उदाहरण कोड from matplotlib import

  1. Matplotlib का उपयोग करके दो Seaborn lmplots को साथ-साथ कैसे प्लॉट करें? Matplotlib का उपयोग करके दो Seaborn lmplots को साथ-साथ कैसे प्लॉट करें?

    Seaborn में दो ग्राफ़ साथ-साथ प्लॉट करने के लिए, हम निम्नलिखित चरण अपना सकते हैं: दो ग्राफ़ बनाने के लिए, हम फिगर साइज़ (7, 7) के साथ nrows=1, ncols=2 का उपयोग कर सकते हैं। Pandas का उपयोग करके col1 और col2 कीज़ के साथ डेटा फ्रेम बनाएं। बार का उपयोग करके प्रत्येक श्रेणीगत बिन में ऑब्जर्वेशन क

  1. Matplotlib का उपयोग करके दो बिंदीदार रेखाएं प्लॉट करना और मार्कर सेट करना Matplotlib का उपयोग करके दो बिंदीदार रेखाएं प्लॉट करना और मार्कर सेट करना

    इस प्रोग्राम में, हम matplot लाइब्रेरी का उपयोग करके दो रेखाएं प्लॉट करेंगे। कोडिंग शुरू करने से पहले, हमें निम्न कमांड का उपयोग करके matplotlib लाइब्रेरी आयोर्ट करने की आवश्यकता है - Import matplotlib.pyplot as plt Pyplot कमांड शैली फ़ंक्शन का एक संग्रह है जो matplotlib को MATLAB की तरह काम करता ह