TGViewer
پایتون | Data Science | Machine Learning پایتون | Data Science | Machine Learning @python4all_pro · 24.3K subscribers
Post #2518 2.67K
چطور با #Python و matplotlib یک نمودار حاشیه‌نویسی‌شده بسازیم 🐍📊
import matplotlib.pyplot as plt
import numpy as np

fig = plt.figure(figsize=(8, 6))

X = list(range(10))
plt.plot(X, np.exp(X))
plt.title('Annotating Exponential Plot using plt.annotate()')
plt.xlabel('x-axis')
plt.ylabel('y-axis')

plt.annotate('Point 1', xy=(6, 400),
arrowprops=dict(arrowstyle='->'),
xytext=(4, 600))

plt.annotate('Point 2', xy=(7, 1150),
arrowprops=dict(arrowstyle='->',
connectionstyle='arc3,rad=-.2'),
xytext=(4.5, 2000))

plt.annotate('Point 3', xy=(8, 3000),
arrowprops=dict(arrowstyle='-|>',
connectionstyle='angle,angleA=90,angleB=0'),
xytext=(8.5, 2200))

plt.show()

توضیح مرحله به مرحله
۱. ایمپورت کتابخونه‌ها
import matplotlib.pyplot as plt
import numpy as np

matplotlib.pyplot برای رسم نمودار و numpy برای محاسبات عددی (مثل تابع exp) لازمه.
۲. ساخت شکل و رسم داده

fig = plt.figure(figsize=(8, 6))
X = list(range(10))
plt.plot(X, np.exp(X))


یک شکل با اندازه‌ی ۸×۶ ساخته می‌شه و تابع نمایی e^x روی بازه‌ی ۰ تا ۹ رسم می‌شه.

۳. عنوان و برچسب محورها
plt.title('Annotating Exponential Plot using plt.annotate()')
plt.xlabel('x-axis')
plt.ylabel('y-axis')

۴. حاشیه‌نویسی‌ها با plt.annotate()
تابع annotate() سه پارامتر کلیدی داره:
پارامتر
کارش
text
متنی که می‌خوای نشون بدی
xy
نقطه‌ای که فلش بهش اشاره می‌کنه
xytext
موقعیت متن روی نمودار
arrowprops
استایل فلش
Point 1 — فلش ساده:
plt.annotate('Point 1', xy=(6, 400),
arrowprops=dict(arrowstyle='->'),
xytext=(4, 600))

فقط یه فلش معمولی از متن به نقطه.

Point 2 — فلش منحنی:
plt.annotate('Point 2', xy=(7, 1150),
arrowprops=dict(arrowstyle='->',
connectionstyle='arc3,rad=-.2'),
xytext=(4.5, 2000))

با connectionstyle='arc3,rad=-.2' فلش به صورت کمان با انحنای -0.2 رسم می‌شه (منفی یعنی انحنا به یه سمت خاص).

Point 3 — فلش با زاویه‌ی سفارشی:
plt.annotate('Point 3', xy=(8, 3000),
arrowprops=dict(arrowstyle='-|>',
connectionstyle='angle,angleA=90,angleB=0'),
xytext=(8.5, 2200))

اینجا connectionstyle='angle' با angleA=90 و angleB=0 یه فلش زاویه‌دار می‌سازه. سر فلش هم -|> یعنی پیکان کلاسیک با خط صاف.

💡 نکته: کلید اصلی plt.annotate() همینه: با xytext متن رو هر جا که دلت بخواد بذار، و با xy مشخص کن فلش به کدوم نقطه‌ی واقعی روی نمودار اشاره کنه.


🆔 @python4all_pro


🧩لینک کانال در بله 👇👇
https://ble.ir/Python4all_pro
  • ❤ 2
More from @python4all_pro
  1. Sep 23, 2026📚 کتاب‌ «۳۰۰ برنامه پایتون» منبع فوق‌العاده برای یادگیری پایتون از صفر تا سطح مصاحبه‌های…
  2. Sep 22, 2026با رعایت کردن این نکات اسکریپت‌های پایتون سریعتر عمل می‌کنند @python4all_pro
  3. Sep 20, 2026🎁 همه تخفیف‌های فرادرس در یک نگاه 🎉 برای شروع یک مسیر یادگیری جدید، همیشه لازم نیست هزین…
  4. Sep 15, 2026🔅 کدنویسی سریع‌تر در پایتون 📝 یاد بگیر چطور کدهای پایتونت رو بهینه‌تر کنی. با هم بشناسیم…
  5. Sep 14, 2026📶 How to Build Your First AI Agent with ChatGPT 📝 یاد بگیرید چگونه اولین عامل هوش مصنوعی…
  6. Sep 7, 2026یه نفر یه محیط محاسبات عددی و شبیه‌سازی شبیه MATLAB/Simulink با چت جی پی ورژن 6 ساخته که م…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →