একটি প্লটে কাস্টমাইজড লেজেন্ড সিম্বল প্লট করতে, আমরা নিচের ধাপগুলো অনুসরণ করতে পারি:
- ফিগার আকার নির্ধারণ করুন এবং সাবপ্লটের মধ্যে এবং চারপাশে প্যাডিং সমন্বয় করুন।
- HandlerPatch ক্লাস ইনহেরিট করুন, create artists মেথড ওভাররাইড করুন, প্লটে একটি এলিপ্টিক্যাল প্যাচ যোগ করুন, এবং প্যাচ হ্যান্ডলার রিটার্ন করুন।
- Circle ক্লাস ব্যবহার করে প্লটে একটি সার্কেল প্লট করুন।
- কারেন্ট অক্ষে একটি সার্কেল প্যাচ যোগ করুন।
- legend() মেথড ব্যবহার করে প্লটে লেজেন্ড রাখুন।
- ফিগার প্রদর্শন করতে show() মেথড ব্যবহার করুন।
উদাহরণ
import matplotlib.pyplot as plt, matplotlib.patches as mpatches
from matplotlib.legend_handler import HandlerPatch
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
class HandlerEllipse(HandlerPatch):
def create_artists(self, legend, orig_handle, xdescent, ydescent, width, height, fontsize, trans):
center = 0.5 * width - 0.5 * xdescent, 0.5 * height - 0.5 * ydescent
p = mpatches.Ellipse(xy=center, width=width + xdescent, height=height + ydescent)
self.update_prop(p, orig_handle, legend)
p.set_transform(trans)
return [p]
c = mpatches.Circle((0.5, 0.5), 0.25, facecolor="green", edgecolor="red", linewidth=1)
plt.gca().add_patch(c)
plt.legend([c], ["An ellipse,Customized legend element"], handler_map={mpatches.Circle: HandlerEllipse()})
plt.show()
আউটপুট
