نمودار میلهای و دایرهای
رسم نمودار میلهای برای مقایسه دستهها و دایرهای برای نمایش نسبتها با matplotlib و قواعد استفاده درست
نمودار میلهای (Bar Chart)
پرکاربردترین نمودار مقایسهای: هر دسته یک میله و طول میله مقدار آن است. برای «فروش هر شهر» یا «تعداد سفارش هر محصول» بهترین انتخاب است.
cities = ["تهران", "شیراز", "تبریز", "مشهد"]
sales = [500, 300, 200, 400]
plt.bar(cities, sales)
plt.title("فروش به تفکیک شهر")
میلهای عمودی یا افقی؟
- عمودی: وقتی برچسبها کوتاهاند و ترتیب زمانی/طبیعی دارند
- افقی (barh): وقتی برچسبها بلندند یا دستهها زیادند؛ خوانایی بهتر
plt.barh(cities, sales) # میلهای افقی
میلهای گروهبندیشده و انباشته
برای مقایسه دو مقدار در هر دسته (مثلاً فروش امسال و پارسال هر شهر):
- گروهبندیشده: میلهها کنار هم — مقایسه مستقیم راحتتر
- انباشته (stacked): میلهها روی هم — دیدن ترکیب و مجموع
نمودار دایرهای (Pie Chart)
برای نمایش سهم هر بخش از کل:
shares = [45, 25, 20, 10]
labels = ["وب", "اپلیکیشن", "حضوری", "تلفنی"]
plt.pie(shares, labels=labels, autopct="%1.1f%%")
پارامتر autopct درصد هر بخش را روی نمودار مینویسد.
قواعد استفاده از دایرهای
هشدار: نمودار دایرهای فقط در این شرایط خوب است:
- ۲ تا ۴ بخش داشته باشید (نه بیشتر!)
- مجموع بخشها واقعاً کل را بسازد (۱۰۰٪)
- تفاوت سهمها معنادار باشد
جدول انتخاب
| هدف | نمودار | دلیل |
|---|---|---|
| مقایسه دستهها | میلهای | مغز طول را دقیق مقایسه میکند |
| سهم از کل (کم بخش) | دایرهای | درک شهودی نسبت |
| سهم از کل (بخش زیاد) | میلهای افقی | خوانایی بهتر |
| ترکیب هر دسته | میلهای انباشته | مجموع + سهمها |
جمعبندی
- میلهای پادشاه مقایسه دستهای است؛ افقی برای برچسبهای بلند
- دایرهای فقط برای سهم از کل با تعداد بخش کم
- گروهبندیشده برای مقایسه و انباشته برای ترکیب
این مبحث بخشی از دوره آموزش کامل علم داده است.