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

Matplotlib में दो रेखाओं के बीच कोण प्लॉट करने का सबसे अच्छा तरीका

Matplotlib में दो रेखाओं के बीच कोण को प्लॉट करने का सबसे अच्छा तरीका आर्क . का उपयोग करना है बीच में कोण बनाने के लिए कोण चाप बनाने के लिए वर्ग।

कदम

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

उदाहरण

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()

आउटपुट

Matplotlib में दो रेखाओं के बीच कोण प्लॉट करने का सबसे अच्छा तरीका


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

    Matplotlib में ओवरलैपिंग लाइनों को प्लॉट करने के लिए, हम वैरिएबल ओवरलैपिंग का उपयोग कर सकते हैं जो मूल रूप से प्लॉट में अस्पष्टता या अल्फा मान सेट करता है। कदम आकृति का आकार सेट करें और सबप्लॉट के बीच और आसपास पैडिंग समायोजित करें। लाइन के अल्फ़ा मान को सेट करने के लिए एक वैरिएबल ओवरलैपिंग को इनिशि

  1. दो सीबॉर्न lmplots को साथ-साथ कैसे प्लॉट करें (Matplotlib)?

    सीबॉर्न में साथ-साथ दो ग्राफ़ बनाने के लिए, हम निम्नलिखित कदम उठा सकते हैं - दो ग्राफ़ बनाने के लिए, हम nrows=1, ncols=2 . का उपयोग कर सकते हैं आकृति आकार (7, 7) के साथ। कुंजियों के साथ डेटा फ़्रेम बनाएं, col1 और col2 , पंडों . का उपयोग करते हुए । काउंटप्लॉट() . का प्रयोग करें बार का उपयो

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

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