একটি অ্যাক্সের সব চাইল্ড অবজেক্ট পেতে ax.get_children() ব্যবহার করুন। তারপর লুপে isinstance(item, matplotlib.legend.Legend) চেক করে লেজেন্ড অবজেক্ট পান এবং item.texts দিয়ে লেবেল টেক্সট বের করুন।
- ফিগার সাইজ এবং লেআউট সেট করুন।
- X ডেটা এবং দুটি কর্ভ (sin, cos) প্লট করুন লেবেলসহ।
plt.legend()কল করুন।for item in ax.get_children():লুপে লেজেন্ড খুঁজুন এবংitem.textsপ্রিন্ট করুন।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)')] প্রিন্ট হবে। প্লটে লেজেন্ড উপরের ডানে দেখাবে।
ব্যবহার: ডাইনামিক্যালি লেজেন্ড এন্ট্রি মডিফাই বা এক্সট্র্যাক্ট করার সময় এটি উপযোগী।