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

Matplotlib প্লটে Pandas DataFrame থেকে পয়েন্ট অ্যানোটেট করা

DataFrame-এ X, Y коорডিনেট এবং টেক্সট কলাম থাকলে, প্লট করার পর iterrows() দিয়ে লুপ করে ax.text() দিয়ে প্রতিটি পয়েন্টের পাশে টেক্সট লেখা যায়।

ধাপসমূহ
  1. ফিগার সাইজ এবং লেআউট সেট করুন।
  2. DataFrame তৈরি করুন x, y, text কলাম সহ।
  3. df.set_index('x')['y'].plot() দিয়ে প্লট করুন।
  4. pd.concat দিয়ে X, Y, Text একসাথে বানান।
  5. লুপে ax.text(x+offset, y, text) দিয়ে অ্যানোটেশন যোগ করুন।
  6. plt.show()।
উদাহরণ কোড
import pandas as pd
import matplotlib.pyplot as plt

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

df = pd.DataFrame(dict(
    x=[2, 4, 1, 5, 2],
    y=[2, 1, 3, 5, 7],
    text=['First', 'Second', 'Third', 'Fourth', 'Fifth']
))

ax = df.set_index('x')['y'].plot(style='*', color='red', ms=20)
a = pd.concat({'x': df.x, 'y': df.y, 'text': df.text}, axis=1)

for i, point in a.iterrows():
    ax.text(point['x']+0.125, point['y'], str(point['text']))
plt.show()
আউটপুট

লাল স্টার মার্কারवाले স্ক্যাটার প্লটে প্রতিটি পয়েন্টের ডানদিকে টেক্সট লেবেল (First, Second...) দেখাবে।

  1. Matplotlib-এ সকল xticks সহ Pandas মাল্টি-ইনডেক্স ডেটাফ্রেম প্লট করা

  2. Matplotlib-এ DataFrame থেকে সারফেস প্লট/৩D প্লট কীভাবে তৈরি করবেন?

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

  4. Pandas Series থেকে Matplotlib-এ বার গ্রাফ প্লট করুন