কম্পিউটার টিউটোরিয়াল

Matplotlib-এ দুটি লাইনের মধ্যকার কোণ প্লট করার সেরা উপায়

Matplotlib-এ দুটি লাইনের মধ্যকার কোণ প্লট করার সেরা উপায়

Matplotlib-এ দুটি লাইনের মধ্যকার কোণ প্লট করার সেরা উপায় হলো কোণ আর্ক बनाने के लिए Arc ক্লাস ব্যবহার করা।

ধাপসমূহ

  • ফিগার আকার নির্ধারণ করুন এবং সাবপ্লটের মধ্যবর্তী ও চারপাশের প্যাডিং সমন্বয় করুন।
  • figure() মেথড ব্যবহার করে একটি নতুন ফিগার তৈরি করুন বা বিদ্যমান ফিগার অ্যাক্টিভেট করুন।
  • add_subplot() মেথড ব্যবহার করে সাবপ্লট আযোজনের অংশ হিসেবে ফিগারে একটি '~.axes.Axes' যোগ করুন।
  • ২D লাইন ইনস্ট্যান্স 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()

আউটপুট

Matplotlib-এ দুটি লাইনের মধ্যকার কোণ প্লট করার সেরা উপায়

  1. Matplotlib-এ অ্যাক্সিস ছাড়া ৩D বার প্লট করার পদ্ধতি

  2. Matplotlib-এ ওভারল্যাপিং লাইন প্লট করার পদ্ধতি

  3. Matplotlib-এ দুটি Seaborn lmplot পাশাপাশি কীভাবে প্লট করবেন?

  4. Matplotlib ব্যবহার করে দুটি ডটেড লাইন প্লট করা এবং مار্কার সেট করা