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

Matplotlib প্লট থেকে সব লেজেন্ড পাওয়া

একটি অ্যাক্সের সব চাইল্ড অবজেক্ট পেতে ax.get_children() ব্যবহার করুন। তারপর লুপে isinstance(item, matplotlib.legend.Legend) চেক করে লেজেন্ড অবজেক্ট পান এবং item.texts দিয়ে লেবেল টেক্সট বের করুন।

ধাপসমূহ
  1. ফিগার সাইজ এবং লেআউট সেট করুন।
  2. X ডেটা এবং দুটি কর্ভ (sin, cos) প্লট করুন লেবেলসহ।
  3. plt.legend() কল করুন।
  4. for item in ax.get_children(): লুপে লেজেন্ড খুঁজুন এবং item.texts প্রিন্ট করুন।
  5. plt.show()।
উদাহরণ কোড
import numpy as np
from matplotlib import pyplot as plt
import matplotlib

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

x = np.linspace(-10, 10, 100)
fig, ax = plt.subplots()
ax.plot(np.sin(x), color='red', lw=7, label="y=sin(x)")
ax.plot(np.cos(x), color='orange', lw=7, label="y=cos(x)")
plt.legend(loc='upper right')

for item in ax.get_children():
    if isinstance(item, matplotlib.legend.Legend):
        print(item.texts)

plt.show()
আউটপুট

কনসোলে [Text(0,0,'y=sin(x)'), Text(0,0,'y=cos(x)')] প্রিন্ট হবে। প্লটে লেজেন্ড উপরের ডানে দেখাবে।

ব্যবহার: ডাইনামিক্যালি লেজেন্ড এন্ট্রি মডিফাই বা এক্সট্র্যাক্ট করার সময় এটি উপযোগী।
  1. Matplotlib-এ প্লট লেজেন্ডে শুধু টেক্সট লেবেল দেখানোর পদ্ধতি

  2. Matplotlib প্লট থেকে ডেটা এক্সট্রাক্ট করার পদ্ধতি

  3. Matplotlib ব্যবহার করে Seaborn প্লটে লেজেন্ড ফন্ট সাইজ বাড়ান

  4. Matplotlib লেজেন্ড বক্সের আকার অ্যাডজাস্ট করার পদ্ধতি