Bu modulda tahlil natijasini ko’zga ko’rinadigan holga keltirish — Matplotlib kutubxonasi va Pandas’ning plot usuli o’rganildi.
Matplotlib asoslari
Matplotlib — Python’ning tayanch grafik kutubxonasi; Pandas o’zining plot usulida ham aynan uni chaqiradi:
import matplotlib.pyplot as plt
oylar = ["Yan", "Fev", "Mar", "Apr"]
savdo = [120, 150, 130, 180]
plt.plot(oylar, savdo, marker="o")
plt.title("Oylik savdo")
plt.xlabel("Oy")
plt.ylabel("mln so'm")
plt.grid(True)
plt.show()
Har bir grafikning majburiy "odobi": sarlavha (title), o’q yozuvlari (xlabel, ylabel) va bir nechta chiziq bo’lsa — legend. Yozuvsiz grafik o’quvchiga hech narsa aytmaydi.
Qaysi diagramma qachon
| Diagramma | Buyruq | Qachon ishlatiladi |
|---|---|---|
| Chiziqli | plt.plot |
vaqt bo’yicha o’zgarish (trend) |
| Ustunli | plt.bar |
kategoriyalarni solishtirish |
| Histogramma | plt.hist |
bitta son ustunning taqsimoti |
| Scatter | plt.scatter |
ikki miqdor orasidagi bog’lanish |
Eng ko’p adashtiriladigan juftlik — bar va hist: bar tayyor qiymatlarni kategoriya bo’yicha chizadi, hist esa sonlar ro’yxatini o’zi oraliqlarga (bin) bo’lib, har oraliqda nechta qiymat borligini sanaydi.
import numpy as np
ballar = np.random.default_rng(1).normal(70, 12, 200)
plt.hist(ballar, bins=15, edgecolor="black")
plt.title("Ballar taqsimoti")
plt.show()
Pandas’dan to’g’ridan-to’g’ri chizish
DataFrame’ning o’zidan bir qadamda grafik olinadi — bu ichkarida baribir Matplotlib:
import pandas as pd
df = pd.DataFrame({"oy": ["Yan", "Fev", "Mar", "Apr"],
"A": [120, 150, 130, 180],
"B": [90, 110, 140, 120]}).set_index("oy")
df.plot(kind="bar")
plt.ylabel("mln so'm")
plt.show()
kind parametri diagramma turini tanlaydi: "line" (standart), "bar", "hist", "scatter" (bunda x= va y= ham beriladi). Indeks gorizontal o’qqa chiqadi — shuning uchun chizishdan oldin kerakli ustunni set_index qilish qulay.
Grafikni saqlash
plt.plot(oylar, savdo)
plt.savefig("savdo.png", dpi=150)
plt.show()
Muhim tartib: savefig show dan oldin chaqiriladi. show figurani ko’rsatib bo’lib tozalab yuboradi — undan keyingi savefig bo’sh oq rasm saqlashi mumkin.
Amaliyot
- O’zingizning haftalik xarajatlaringizni (7 kun) chiziqli grafikda chizing — sarlavha va o’q yozuvlari bilan.
- 4 ta fan bo’yicha o’rtacha ballaringizni ustunli diagrammada solishtiring.
default_rngbilan 500 ta normal taqsimlangan son yaratib, 20 binli histogramma chizing;bins=5bilan qayta chizib farqni kuzating.- Ikki ustunli DataFrame yasab (masalan, reklama xarajati va savdo),
df.plot(kind="scatter", x=..., y=...)bilan bog’lanishni ko’rsating. - Istalgan grafikni PNG qilib saqlang va fayl ochilishini tekshiring.
Modul (va kurs!) testi keyingi darsda.