چطور با #Python و matplotlib یک نمودار حاشیهنویسیشده بسازیم 🐍📊
توضیح مرحله به مرحله
۱. ایمپورت کتابخونهها
matplotlib.pyplot برای رسم نمودار و numpy برای محاسبات عددی (مثل تابع exp) لازمه.
۲. ساخت شکل و رسم داده
یک شکل با اندازهی ۸×۶ ساخته میشه و تابع نمایی e^x روی بازهی ۰ تا ۹ رسم میشه.
۳. عنوان و برچسب محورها
۴. حاشیهنویسیها با plt.annotate()
تابع annotate() سه پارامتر کلیدی داره:
پارامتر
کارش
text
متنی که میخوای نشون بدی
xy
نقطهای که فلش بهش اشاره میکنه
xytext
موقعیت متن روی نمودار
arrowprops
استایل فلش
Point 1 — فلش ساده:
فقط یه فلش معمولی از متن به نقطه.
Point 2 — فلش منحنی:
با connectionstyle='arc3,rad=-.2' فلش به صورت کمان با انحنای -0.2 رسم میشه (منفی یعنی انحنا به یه سمت خاص).
Point 3 — فلش با زاویهی سفارشی:
اینجا connectionstyle='angle' با angleA=90 و angleB=0 یه فلش زاویهدار میسازه. سر فلش هم -|> یعنی پیکان کلاسیک با خط صاف.
💡 نکته: کلید اصلی plt.annotate() همینه: با xytext متن رو هر جا که دلت بخواد بذار، و با xy مشخص کن فلش به کدوم نقطهی واقعی روی نمودار اشاره کنه.
🆔 @python4all_pro
🧩لینک کانال در بله 👇👇
https://ble.ir/Python4all_pro
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
Forwarded from FaraDars_Course
🎓 جمعبندی برای موفقیت در کنکور ارشد با فرادرس
📚 مرور مطالب مهم و تمرین سؤالات پرتکرار، همگی در «مجموعه دروس کنکور ارشد»...!
➕ ۸۰ درصد تخفیف برای همه آموزشها
🔹 مهندسی کامپیوتر [+]
🔹 مهندسی برق [+]
🔹 مهندسی مکانیک [+]
🔹 مهندسی عمران [+]
🔹 مهندسی صنایع [+]
🔗 مشاهده سایر رشتههای ارشد — [کلیک کنید]
🔄 FaraDars - فرادرس
📚 مرور مطالب مهم و تمرین سؤالات پرتکرار، همگی در «مجموعه دروس کنکور ارشد»...!
➕ ۸۰ درصد تخفیف برای همه آموزشها
🔹 مهندسی کامپیوتر [+]
🔹 مهندسی برق [+]
🔹 مهندسی مکانیک [+]
🔹 مهندسی عمران [+]
🔹 مهندسی صنایع [+]
🔗 مشاهده سایر رشتههای ارشد — [کلیک کنید]
🔄 FaraDars - فرادرس
🐍معرفی SQLModel — ترکیب Pydantic و SQLAlchemy با type hints
؛SQLModel کتابخونهای از تیم FastAPI هست که با استفاده از type annotationهای پایتون، کار با پایگاهدادهی SQL رو سادهتر میکنه.
🚀 مثال
فقط با همین چند خط:
✅ یه جدول SQL ساخته شد
✅ یه مدل Pydantic برای validation داری
✅ یه ORM برای کوئری زدن داری
🔧 استفاده در FastAPI
🎯 ویژگیهای کلیدی
🔗 یکپارچگی با Pydantic
؛validation خودکار با همان type hints
🔗 یکپارچگی با SQLAlchemy
تمام قابلیتهای ORM در دسترس
⚡ سازگاری کامل با FastAPI
🪶 کد کمتر
یک مدل به جای دو مدل جداگانه
خطاها در زمان توسعه گرفته میشن
مناسب برای پروژههای بزرگ
📦 نصب
🔗 لینک گیتهاب:
https://github.com/fastapi/sqlmodel
مستندات:
https://sqlmodel.tiangolo.com/
🆔 @python4all_pro
🧩لینک کانال در بله 👇👇
https://ble.ir/Python4all_pro
؛SQLModel کتابخونهای از تیم FastAPI هست که با استفاده از type annotationهای پایتون، کار با پایگاهدادهی SQL رو سادهتر میکنه.
🚀 مثال
from sqlmodel import Field, SQLModel
class Hero(SQLModel, table=True):
id: int | None = Field(default=None, primary_key=True)
name: str
secret_name: str
age: int | None = None
فقط با همین چند خط:
✅ یه جدول SQL ساخته شد
✅ یه مدل Pydantic برای validation داری
✅ یه ORM برای کوئری زدن داری
🔧 استفاده در FastAPI
from fastapi import FastAPI, Depends
from sqlmodel import Session, select
from .models import Hero
app = FastAPI()
# ساخت session
def get_session():
with Session(engine) as session:
yield session
@app.post("/heroes/")
def create_hero(hero: Hero, session: Session = Depends(get_session)):
session.add(hero)
session.commit()
session.refresh(hero)
return hero
@app.get("/heroes/")
def read_heroes(session: Session = Depends(get_session)):
heroes = session.exec(select(Hero)).all()
return heroes
🎯 ویژگیهای کلیدی
🔗 یکپارچگی با Pydantic
؛validation خودکار با همان type hints
🔗 یکپارچگی با SQLAlchemy
تمام قابلیتهای ORM در دسترس
⚡ سازگاری کامل با FastAPI
🪶 کد کمتر
یک مدل به جای دو مدل جداگانه
خطاها در زمان توسعه گرفته میشن
مناسب برای پروژههای بزرگ
📦 نصب
pip install sqlmodel🔗 لینک گیتهاب:
https://github.com/fastapi/sqlmodel
مستندات:
https://sqlmodel.tiangolo.com/
🆔 @python4all_pro
🧩لینک کانال در بله 👇👇
https://ble.ir/Python4all_pro
❤5
Forwarded from FaraDars_Course
🏖 ۸۰ درصد تخفیف تابستانی فرادرس برای تمامی آموزشها
✅ جدیدترین آموزشهای منتشر شده 👇
🟡 توسعه نرم افزار بدون کدنویسی با Cursor و ChatGPT Codex
🟡 هوش مصنوعی GPT برای مهندس نرم افزار
🟡 آموزش Gemini CLI – اجرای مدلهای هوش مصنوعی
🟡 کسب درآمد با هوش مصنوعی GPT – تکمیلی
🟡 آموزش Vibe coding + ساخت اپلیکیشن بدون کدنویسی با هوش مصنوعی
🔗 مشاهده سایر آموزشها [+]
➕ اشتراک فرادرس را با ۷۵ درصد تخفیف فعال کنید و به مدت یکسال به بیش از ۱۸,۰۰۰ آموزش، دسترسی رایگان داشته باشید.👇
🔗 فعالسازی اشتراک — [کلیک کنید]
🔄 FaraDars - فرادرس
✅ جدیدترین آموزشهای منتشر شده 👇
🟡 توسعه نرم افزار بدون کدنویسی با Cursor و ChatGPT Codex
🟡 هوش مصنوعی GPT برای مهندس نرم افزار
🟡 آموزش Gemini CLI – اجرای مدلهای هوش مصنوعی
🟡 کسب درآمد با هوش مصنوعی GPT – تکمیلی
🟡 آموزش Vibe coding + ساخت اپلیکیشن بدون کدنویسی با هوش مصنوعی
🔗 مشاهده سایر آموزشها [+]
➕ اشتراک فرادرس را با ۷۵ درصد تخفیف فعال کنید و به مدت یکسال به بیش از ۱۸,۰۰۰ آموزش، دسترسی رایگان داشته باشید.👇
🔗 فعالسازی اشتراک — [کلیک کنید]
🔄 FaraDars - فرادرس
🎯 از یادگیری فرانتاند تا ساخت نمونهکار واقعی
🚀 خیلیها شروع میکنن، آموزش میبینن اما حس میکنن هنوز برای ورود به بازار کار آماده نیستن.
📚 «بوتکمپ فرانتاند»کوئرا دقیقاً برای همین طراحی شده؛ یادگیری قدمبهقدم، پروژههای واقعی با React، تمرین مستمر و بازخورد منتورها، راه رو برای رسیدن به درآمد هموار میکنه.
🧭 اینجا فقط آموزش نمیبینی، خروجی قابل ارائه برای رزومه و مصاحبه میسازی.
✅ اگر میخوای یادگیریت به مهارت و درآمد تبدیل بشه، ثبتنام اولیه رایگانه:
🔗 quera.org/r/bicc5
🚀 خیلیها شروع میکنن، آموزش میبینن اما حس میکنن هنوز برای ورود به بازار کار آماده نیستن.
📚 «بوتکمپ فرانتاند»کوئرا دقیقاً برای همین طراحی شده؛ یادگیری قدمبهقدم، پروژههای واقعی با React، تمرین مستمر و بازخورد منتورها، راه رو برای رسیدن به درآمد هموار میکنه.
🧭 اینجا فقط آموزش نمیبینی، خروجی قابل ارائه برای رزومه و مصاحبه میسازی.
✅ اگر میخوای یادگیریت به مهارت و درآمد تبدیل بشه، ثبتنام اولیه رایگانه:
🔗 quera.org/r/bicc5