Mundarija (22)
- 1. Kirish va motivatsiya
- 2. Nazariya — chuqur tushuntirish
- 2.1. Chiziqli grafik (plot)
- 2.2. Ko'p chiziq (taqqoslash)
- 2.3. Uslub (rang, chiziq, marker)
- 2.4. Vaqt qatori grafigi
- 2.5. Legend va bezash
- 2.6. Chiziqli grafik amaliyoti
- 2.7. Chiziqli grafik tuzoqlari
- 2.8. Chiziqli grafik — vaqt bo'yicha o'zgarish
- 3. Tez ma'lumotnoma
- 4. Batafsil misollar
- Misol 1 — Chiziqli grafik
- Misol 2 — Ko'p chiziq
- Misol 3 — Uslub
- Misol 4 — Pandas bilan vaqt qatori
- 5. To'g'ri va noto'g'ri tushunishlar
- 6. Keng tarqalgan xatolar va yechimlari
- 7. Integratsiya — bu bilim qayerda kerak bo'ladi
- 8. Eng yaxshi amaliyotlar
- 9. Amaliy topshiriq
- Xulosa
5.2-dars: Chiziqli grafik
5-QISM — VIZUALIZATSIYA · 2-dars
1. Kirish va motivatsiya
Eng ko'p ishlatiladigan grafik turlaridan biri — chiziqli grafik (line plot). U vaqt bo'yicha o'zgarishni ko'rsatishda tengsiz: kunlik savdo, oylik daromad, yillik o'sish, harorat trendi. Chiziqli grafik nuqtalarni chiziq bilan bog'laydi — shu bilan trend (o'sish/pasayish), mavsumiylik (takrorlanuvchi naqsh) va o'zgarish tezligi ko'rinadi. Ko'p chiziq bir grafikda bo'lsa — taqqoslash (2023 vs 2024 savdo). Nega muhim? (1) Vaqt qatori — trend, o'zgarish (savdo, moliya, sensor); (2) Taqqoslash — ko'p chiziq (guruhlar); (3) Naqsh — mavsumiylik, cho'qqi. Bu dars chiziqli grafikni chuqur o'rgatadi — vaqt bo'yicha o'zgarishni ko'rish.
Chiziqli grafik — vaqt bo'yicha o'zgarish: ax.plot (nuqtalarni chiziq bilan), vaqt qatori (x — vaqt, y — qiymat; trend), ko'p chiziq (taqqoslash — bir grafikda), uslub (rang, chiziq turi, marker — color/linestyle/marker), legend (ko'p chiziq — izoh), bezash (title/label). Foydalanish: trend, taqqoslash, mavsumiylik. Bu 3.12 (vaqt qatori), 5.1 (Matplotlib) bilan bog'liq. Chiziqli grafik — vaqt/o'zgarish. Trend. Ko'p chiziq.
Real vaziyat. Data Scientist 12 oylik savdoni chiziqli grafikda ko'rsatdi: ax.plot(oylar, savdo) — trend darrov (yozda o'sish, qishda pasayish — mavsumiylik). Taqqoslash: 2023 va 2024 — ax.plot(oy, savdo_2023, label="2023") + ax.plot(oy, savdo_2024, label="2024") (ikki chiziq — 2024 yuqori, o'sish); legend (qaysi chiziq qaysi yil). Uslub: color="red", linestyle="--" (uzuq), marker="o" (nuqtalar). Grafik o'zgarishni ko'rsatdi (trend, mavsumiylik, taqqoslash — jadval yashiradi). Chiziqli grafik — vaqt qatori ko'zi (trend, taqqoslash).
Bu darsda chiziqli grafikni o'rganamiz.
Bu darsda:
- Chiziqli grafik (plot)
- Ko'p chiziq (taqqoslash)
- Uslub (rang, chiziq, marker)
- Vaqt qatori grafigi
- Legend va bezash
- Chiziqli grafik amaliyoti
- Chiziqli grafik tuzoqlari
- Amaliy: chiziqli grafik modeli
ℹ Misollar real matplotlib bilan (Agg — grafik xususiyatlari matn bilan tekshiriladi) ishlaydi.
2. Nazariya — chuqur tushuntirish
2.1. Chiziqli grafik (plot)
Nuqtalarni chiziq bilan:
import matplotlib.pyplot as plt
oylar = [1, 2, 3, 4, 5, 6]
savdo = [100, 120, 140, 130, 160, 180]
fig, ax = plt.subplots()
ax.plot(oylar, savdo) # nuqtalarni chiziq bilan bog'laydi
ax.set_title("Oylik savdo")
ax.set_xlabel("Oy")
ax.set_ylabel("Savdo") Chiziqli grafik (plot) — nuqtalarni chiziq bilan: ax.plot(x, y) (x va y nuqtalarini chiziq bilan bog'laydi). Sabab: vaqt bo'yicha o'zgarish (kunlik/oylik savdo — x vaqt, y qiymat; nuqtalar orasi chiziq — uzluksiz o'zgarish); chiziq trendni ko'rsatadi (o'sish/pasayish — chiziq yo'nalishi). ax.plot(x, y) (chiziq — vaqt qatori, o'zgarish). x (vaqt — oy, sana), y (qiymat — savdo). Chiziqli grafik eng ko'p (vaqt/o'zgarish). Chiziqli grafik — plot (nuqta chiziq). Vaqt. Trend.
2.2. Ko'p chiziq (taqqoslash)
Bir grafikda ko'p chiziq:
oy = [1, 2, 3, 4]
fig, ax = plt.subplots()
ax.plot(oy, [100, 120, 140, 130], label="2023")
ax.plot(oy, [110, 135, 150, 165], label="2024")
ax.legend() # qaysi chiziq qaysi yil
# ko'p chiziq — TAQQOSLASH (2023 vs 2024) Ko'p chiziq (taqqoslash) — bir grafikda: ax.plot(...) bir necha marta (har biri chiziq; label= bilan), ax.legend() (izoh — qaysi chiziq nima). Sabab: ko'pincha taqqoslash kerak (2023 vs 2024 savdo; ikki shahar harorat; guruhlar); bir grafikda ko'p chiziq (yonma-yon — farq ko'rinadi). Legend muhim (ko'p chiziq — qaysi qaysi; label + legend). Har chiziq avtomatik rang (yoki color=). Ko'p chiziq taqqoslash (trend farqi — 2024 yuqori). Ko'p chiziq — bir grafikda (taqqoslash, legend). Taqqoslash. Legend.
2.3. Uslub (rang, chiziq, marker)
Grafikni farqlash:
fig, ax = plt.subplots()
# color — rang, linestyle — chiziq turi, marker — nuqta
ax.plot(x, y1, color="blue", linestyle="-", marker="o") # to'liq
ax.plot(x, y2, color="red", linestyle="--", marker="s") # uzuq
# linestyle: "-" to'liq, "--" uzuq, ":" nuqtali, "-." nuqta-chiziq
# marker: "o" doira, "s" kvadrat, "^" uchburchak Uslub (rang, chiziq, marker) — grafikni farqlash: color (rang — "blue", "red", "#FF0000"), linestyle (chiziq turi — "-" to'liq, "--" uzuq, ":" nuqtali), marker (nuqta — "o" doira, "s" kvadrat, "^" uchburchak). Sabab: ko'p chiziqni farqlash (rang — ko'z bilan; chiziq turi — rangsiz bosma uchun; marker — nuqtalar); uslub o'qilishni yaxshilaydi (turli chiziq — chalkashmaslik). Rang (asosiy — ajratish), linestyle (qo'shimcha — rangsiz), marker (nuqtalar — aniq qiymat). Uslub — color/linestyle/marker (farqlash). Rang. Chiziq turi.
2.4. Vaqt qatori grafigi
Vaqt qatori grafigi — sana bo'yicha: chiziqli grafik vaqt qatori uchun ideal (x — sana/vaqt, y — qiymat; 3.12); Pandas bilan oson (df.plot() — indeks sana bo'lsa avtomatik x). Sabab: vaqt qatori (savdo, harorat, aksiya — vaqt bo'yicha) chiziqli grafik (uzluksiz o'zgarish — trend, mavsumiylik); sana o'q (Matplotlib sanani formatlaydi — 3.12 datetime). Pandas: df.set_index("sana")["savdo"].plot() (indeks x, qiymat y — tez); resample (oylik trend — 3.12). Vaqt qatori trend (o'sish), mavsumiylik (takror), anomaliya (keskin o'zgarish). Vaqt qatori grafigi — sana x (chiziqli). Trend. Pandas.
2.5. Legend va bezash
Legend va bezash — tushunarli grafik: legend (ax.plot(..., label="A") + ax.legend() — ko'p chiziq izohi; joylashuv loc="best"), bezash (title/xlabel/ylabel — 5.1; grid — to'r). Sabab: chiziqli grafik ko'p chiziq bo'lsa legend shart (qaysi chiziq nima — 2023/2024); bezash (sarlavha — mavzu; o'q nomi — vaqt/qiymat). Legend joylashuvi (loc — "upper left", "best" — avtomatik; chiziqni to'smasin). Yaxshi grafik (title + label + legend — o'z-o'zini tushuntiradi). Legend/bezash — legend (ko'p chiziq), title/label. Tushunarli. Izoh.
2.6. Chiziqli grafik amaliyoti
Chiziqli grafik amaliyoti: ax.plot(x, y) (chiziq); ko'p chiziq (taqqoslash — label + legend); uslub (color/linestyle/marker); vaqt qatori (sana x — 3.12); bezash (title/label — 5.1); Pandas (df.plot() — tez); anomaliya (keskin o'zgarish — grafik). Tuzoqlar: legend yo'q (ko'p chiziq — qaysi qaysi), juda ko'p chiziq (chalkash — 5-7 dan kam), rang chalkash (yaqin rang), o'q boshi 0 emas (aldash — 5.13). Amaliyot — plot, ko'p chiziq, uslub, vaqt qatori. Trend. Taqqoslash.
2.7. Chiziqli grafik tuzoqlari
Chiziqli grafik asosiy tuzoqlari: legend yo'q (ko'p chiziq — qaysi qaysi noaniq; label + legend); juda ko'p chiziq (10+ chiziq — chalkash (spagetti grafik); 5-7 dan kam, yoki alohida subplots — 5.10); noto'g'ri grafik turi (chiziqli vaqt/uzluksiz uchun; kategoriya (shahar savdosi) uchun bar — chiziq kategoriyani bog'lash noto'g'ri, uzluksizlik yo'q); o'q boshi 0 emas (y o'q 90 dan boshlansa — kichik farq katta ko'rinadi; aldash — 5.13; kontekstga); rang chalkash (yaqin rang — ajratib bo'lmaydi; farqli rang/linestyle); ko'p marker (har nuqta marker — ko'p nuqtada chalkash; kam nuqtada mayli); sana tartibi (vaqt qatori — sana tartibli bo'lishi kerak; sort_index — 3.12); NaN (chiziq uziladi — NaN'da; to'ldirish yoki tashlash). Sabab: chiziqli grafik legend/tur/o'q nozik (ko'p chiziq, kategoriya, o'q boshi — chalkash yoki aldash). Yechim: legend, kam chiziq, vaqt uchun, o'q boshi 0. Tuzoqlar — legend, ko'p chiziq, tur, o'q boshi.
2.8. Chiziqli grafik — vaqt bo'yicha o'zgarish
Chiziqli grafik asosiy g'oyasi — vaqt bo'yicha o'zgarish: nuqtalarni chiziq bilan bog'lab (ax.plot) uzluksiz o'zgarishni ko'rsatadi (vaqt qatori — savdo, harorat; trend, mavsumiylik); eng ko'p ishlatiladigan grafik (vaqt/o'zgarish uchun). Ko'p chiziq (taqqoslash — 2023 vs 2024; legend), uslub (color/linestyle/marker — farqlash), vaqt qatori (sana x — 3.12; Pandas df.plot), bezash (title/label/legend). Foydalanish: trend (o'sish/pasayish), taqqoslash (guruhlar), mavsumiylik (takror), anomaliya (keskin o'zgarish). Data Science'da keng (moliya, savdo, sensor — vaqt qatori; EDA — 9-qism). Ehtiyot: legend (ko'p chiziq), kcategoriyaga bar (chiziq emas), o'q boshi 0 (aldamaslik — 5.13). Bu 3.12 (vaqt qatori), 5.1 (Matplotlib) davomi va 5.13 (yolg'on grafik) bilan. Chiziqli grafik — vaqt bo'yicha o'zgarish (plot, ko'p chiziq). Trend. Taqqoslash.
3. Tez ma'lumotnoma
import matplotlib.pyplot as plt
# CHIZIQLI GRAFIK (vaqt/o'zgarish):
fig, ax = plt.subplots(figsize=(10, 6))
ax.plot(oylar, savdo)
# KO'P CHIZIQ (taqqoslash):
ax.plot(oy, savdo_2023, label="2023")
ax.plot(oy, savdo_2024, label="2024")
ax.legend()
# USLUB:
ax.plot(x, y, color="blue", linestyle="--", marker="o")
# linestyle: "-" "--" ":" "-." · marker: "o" "s" "^"
# VAQT QATORI (Pandas — tez):
df.set_index("sana")["savdo"].plot(ax=ax)
# BEZASH:
ax.set_title("Savdo"); ax.set_xlabel("Oy"); ax.set_ylabel("Summa")
QOIDA: legend (ko'p chiziq) · vaqt uchun (kategoriya — bar) · o'q boshi 0 · kam chiziqChiziqli grafik xulosasi
Chiziqli grafik — vaqt bo'yicha o'zgarish (plot)
Nuqtalarni chiziq bilan (trend, mavsumiylik)
Ko'p chiziq — taqqoslash (label + legend)
Uslub — color/linestyle/marker (farqlash)
Vaqt qatori — sana x (3.12; Pandas df.plot)4. Batafsil misollar
Misollar real matplotlib bilan (Agg — grafik xususiyatlari matn bilan tekshiriladi) ishlaydi.
Misol 1 — Chiziqli grafik
"""Chiziqli grafik (real matplotlib)."""
import matplotlib
matplotlib.use("Agg")
import matplotlib.pyplot as plt
def main() -> None:
oylar = [1, 2, 3, 4, 5, 6]
savdo = [100, 120, 140, 130, 160, 180]
fig, ax = plt.subplots()
ax.plot(oylar, savdo)
print("=== 1. Chiziq ===")
print(f" chiziqlar soni: {len(ax.lines)}")
print("\n=== 2. Ma'lumot ===")
print(f" savdo: {[int(v) for v in ax.lines[0].get_ydata()]}")
print("\n=== 3. Trend (o'suvchi) ===")
ydata = ax.lines[0].get_ydata()
print(f" boshi: {int(ydata[0])}, oxiri: {int(ydata[-1])} (o'sish)")
print("\n=== 4. Nuqtalar ===")
print(f" oylar: {[int(v) for v in ax.lines[0].get_xdata()]}")
plt.close(fig)
print(" ⭐ Chiziqli grafik — nuqtalarni chiziq bilan")
if __name__ == "__main__":
main()Natijaning muhim qismi:
=== 1. Chiziq ===
chiziqlar soni: 1
=== 2. Ma'lumot ===
savdo: [100, 120, 140, 130, 160, 180]
=== 3. Trend (o'suvchi) ===
boshi: 100, oxiri: 180 (o'sish)
=== 4. Nuqtalar ===
oylar: [1, 2, 3, 4, 5, 6]
⭐ Chiziqli grafik — nuqtalarni chiziq bilanNima ko'rsatdi: 2.1-bo'lim.
Misol 2 — Ko'p chiziq
"""Ko'p chiziq: taqqoslash (real matplotlib)."""
import matplotlib
matplotlib.use("Agg")
import matplotlib.pyplot as plt
def main() -> None:
oy = [1, 2, 3, 4]
fig, ax = plt.subplots()
ax.plot(oy, [100, 120, 140, 130], label="2023")
ax.plot(oy, [110, 135, 150, 165], label="2024")
ax.legend()
print("=== 1. Ikki chiziq ===")
print(f" chiziqlar: {len(ax.lines)}")
print("\n=== 2. Legend ===")
yorliqlar = [t.get_text() for t in ax.get_legend().get_texts()]
print(f" yorliqlar: {yorliqlar}")
print("\n=== 3. Taqqoslash (2024 yuqori) ===")
y2023 = ax.lines[0].get_ydata()
y2024 = ax.lines[1].get_ydata()
print(f" 2024 oxiri > 2023 oxiri: {y2024[-1] > y2023[-1]}")
print("\n=== 4. Tushuntirish ===")
print(" ko'p chiziq — taqqoslash (legend bilan)")
plt.close(fig)
print(" ⭐ Ko'p chiziq — taqqoslash")
if __name__ == "__main__":
main()Natijaning muhim qismi:
=== 1. Ikki chiziq ===
chiziqlar: 2
=== 2. Legend ===
yorliqlar: ['2023', '2024']
=== 3. Taqqoslash (2024 yuqori) ===
2024 oxiri > 2023 oxiri: True
=== 4. Tushuntirish ===
ko'p chiziq — taqqoslash (legend bilan)
⭐ Ko'p chiziq — taqqoslashNima ko'rsatdi: 2.2-bo'lim.
Misol 3 — Uslub
"""Uslub: rang, chiziq, marker (real matplotlib)."""
import matplotlib
matplotlib.use("Agg")
import matplotlib.pyplot as plt
def main() -> None:
x = [1, 2, 3, 4]
fig, ax = plt.subplots()
ax.plot(x, [10, 20, 30, 40], color="blue", linestyle="-", marker="o")
ax.plot(x, [15, 25, 20, 35], color="red", linestyle="--", marker="s")
print("=== 1. Birinchi chiziq rangi ===")
print(f" color: {ax.lines[0].get_color()}")
print("\n=== 2. Chiziq turi ===")
print(f" linestyle 1: {ax.lines[0].get_linestyle()}")
print(f" linestyle 2: {ax.lines[1].get_linestyle()}")
print("\n=== 3. Marker ===")
print(f" marker 1: {ax.lines[0].get_marker()}")
print("\n=== 4. Tushuntirish ===")
print(" color (rang), linestyle (chiziq), marker (nuqta)")
plt.close(fig)
print(" ⭐ Uslub — farqlash (rang/chiziq/marker)")
if __name__ == "__main__":
main()Natijaning muhim qismi:
=== 1. Birinchi chiziq rangi ===
color: blue
=== 2. Chiziq turi ===
linestyle 1: -
linestyle 2: --
=== 3. Marker ===
marker 1: o
=== 4. Tushuntirish ===
color (rang), linestyle (chiziq), marker (nuqta)
⭐ Uslub — farqlash (rang/chiziq/marker)Nima ko'rsatdi: 2.3-bo'lim.
Misol 4 — Pandas bilan vaqt qatori
"""Pandas bilan vaqt qatori grafigi (real pandas/matplotlib)."""
import matplotlib
matplotlib.use("Agg")
import matplotlib.pyplot as plt
import pandas as pd
def main() -> None:
df = pd.DataFrame({
"sana": pd.to_datetime(["2024-01-01", "2024-02-01", "2024-03-01", "2024-04-01"]),
"savdo": [100, 120, 140, 130],
}).set_index("sana")
print("=== 1. Pandas plot ===")
fig, ax = plt.subplots()
df["savdo"].plot(ax=ax)
print(f" chiziqlar: {len(ax.lines)}")
print("\n=== 2. Ma'lumot ===")
print(f" savdo: {[int(v) for v in ax.lines[0].get_ydata()]}")
print("\n=== 3. Bezash ===")
ax.set_title("Oylik savdo")
ax.set_ylabel("Summa")
print(f" title: {ax.get_title()}")
print("\n=== 4. Tushuntirish ===")
print(" df.plot — Pandas + Matplotlib (tez, sana x)")
plt.close(fig)
print(" ⭐ Vaqt qatori — Pandas df.plot")
if __name__ == "__main__":
main()Natijaning muhim qismi:
=== 1. Pandas plot ===
chiziqlar: 1
=== 2. Ma'lumot ===
savdo: [100, 120, 140, 130]
=== 3. Bezash ===
title: Oylik savdo
=== 4. Tushuntirish ===
df.plot — Pandas + Matplotlib (tez, sana x)
⭐ Vaqt qatori — Pandas df.plotNima ko'rsatdi: 2.4-bo'lim.
5. To'g'ri va noto'g'ri tushunishlar
| Noto'g'ri fikr | To'g'risi |
|---|---|
| "chiziqli har xil ma'lumot" | Vaqt/uzluksiz (kategoriya — bar) |
| "legend keraksiz" | Ko'p chiziq — shart |
| "ko'p chiziq yaxshi" | 5-7 dan kam (chalkash) |
| "o'q boshi ixtiyoriy" | 0 (aldamaslik — 5.13) |
| "rang muhim emas" | Farqli rang (ajratish) |
| "marker doim" | Kam nuqtada (ko'p — chalkash) |
| "sana tartibsiz OK" | Tartibli (vaqt qatori) |
| "df.plot yo'q" | Pandas — tez |
6. Keng tarqalgan xatolar va yechimlari
1. Legend yo'q
ax.plot(x, y1); ax.plot(x, y2) # qaysi qaysi? # ⚠️
ax.plot(x, y1, label="A"); ax.legend() # izoh # ✅2. Ko'p chiziq
# 15 chiziq (spagetti — chalkash) # ⚠️
# 5-7 dan kam (yoki subplots — 5.10) # ✅3. Kategoriyaga chiziqli
ax.plot(shaharlar, savdo) # kategoriya (uzluksiz emas) # ⚠️
ax.bar(shaharlar, savdo) # bar (kategoriya — 5.3) # ✅4. O'q boshi 0 emas
ax.set_ylim(90, 110) # kichik farq katta ko'rinadi (aldash) # ⚠️
ax.set_ylim(0, 110) # 0 dan (halol — 5.13) # ✅5. Rang chalkash
ax.plot(x, y1, color="blue"); ax.plot(x, y2, color="navy") # yaqin # ⚠️
# farqli rang (blue, red) # ✅6. Sana tartibsiz
df.plot() # sana tartibsiz (chiziq chalkash) # ⚠️
df.sort_index().plot() # tartibli 3.12-bob # ✅7. NaN uzilishi
ax.plot(x, y_nan) # NaN da chiziq uziladi # ⚠️
# NaN to'ldirish yoki tashlash 3.7-bob # ✅7. Integratsiya — bu bilim qayerda kerak bo'ladi
- 5.1-dars (o'tilgan): Matplotlib
- 3.12-dars (o'tilgan): Vaqt qatori (datetime)
- 5.3-dars: Ustunli grafik (kategoriya)
- 5.13-dars: Yolg'on grafiklar (o'q boshi)
- 9-qism (reja): EDA (trend)
8. Eng yaxshi amaliyotlar
ax.plot(x, y)— vaqt/o'zgarish.Ko'p chiziq — legend (label bilan).
Uslub — color/linestyle/marker (farqlash).
Vaqt qatori — sana x (Pandas df.plot).
Kam chiziq (5-7 — chalkash emas).
Kategoriya — bar (chiziq emas).
O'q boshi 0 (aldamaslik — 5.13).
Chiziqli grafik — vaqt bo'yicha o'zgarish.
9. Amaliy topshiriq
Vazifa 1: Bashorat qiling
1. # chiziqli grafik nima?
2. # plot nima qiladi?
3. # qachon chiziqli?
4. # ko'p chiziq nima uchun?
5. # legend nima uchun?
6. # color nima?
7. # linestyle nima?
8. # marker nima?
9. # vaqt qatori grafigi?
10. # kategoriyaga chiziqli?
11. # o'q boshi 0?
12. # nega chiziqli muhim?Javoblar
- Nuqtalarni chiziq bilan (vaqt/o'zgarish)
- Nuqtalarni chiziq bilan bog'laydi
- Vaqt/uzluksiz
- Taqqoslash
- Qaysi chiziq nima (ko'p chiziq)
- Rang
- Chiziq turi (--, :)
- Nuqta belgisi (o, s)
- Sana x (Pandas df.plot)
- Yo'q (bar)
- Ha (aldamaslik)
- Vaqt bo'yicha o'zgarish (trend)
Vazifa 2: Xatolarni tuzating
1. ax.plot(x, y1); ax.plot(x, y2) # qaysi qaysi
2. ax.plot(shaharlar, savdo) # kategoriya
3. ax.set_ylim(90, 110) # aldash
4. # 15 chiziq
5. df.plot() # sana tartibsizJavoblar
1. label="A" + ax.legend()
2. ax.bar (kategoriya)
3. ax.set_ylim(0, 110)
4. 5-7 chiziq (subplots)
5. df.sort_index().plot()Vazifa 3: Chiziqli grafik
Modellang:
- plot
- Nuqta chiziq
- Vaqt
- Trend
Vazifa 4: Ko'p chiziq
Modellang:
- Ko'p plot
- label
- legend
- Taqqoslash
Vazifa 5: Uslub
Modellang:
- color
- linestyle
- marker
- Farqlash
Vazifa 6: Vaqt qatori
Modellang:
- Sana x
- df.plot
- Trend
- Mavsumiylik
Vazifa 7: O'ylash
Chiziqli grafik nuqtalarni chiziq bilan bog'laydi — bu vaqt qatori (uzluksiz o'zgarish) uchun ideal, lekin kategoriyalar (shaharlar) uchun noto'g'ri. Nima uchun chiziq "uzluksizlik"ni anglatadi, va nega kategoriyalarni chiziq bilan bog'lash chalg'ituvchi (nega bar chart to'g'ri)?
Javob
Qisqa javob: Chiziq uzluksizlikni anglatadi, kategoriyani chiziq bilan bog'lash chalg'ituvchi, bar to'g'ri, chunki: (1) chiziq — oraliq ma'no — chiziq ikki nuqta orasini bog'laydi (oraliqda qiymat bor deb; yanvar-fevral orasida — 15-yanvar qiymat mantiqiy); uzluksiz (vaqt — har lahzada qiymat bor); chiziq oraliqni ko'rsatadi (o'zgarish — trend); (2) kategoriya — oraliq yo'q — shaharlar (Toshkent, Samarqand) alohida (orasida qiymat yo'q — "Toshkent-Samarqand orasi" ma'nosiz); chiziq soxta oraliq (shaharlar orasida qiymat bor deb — noto'g'ri); (3) tartib yo'q — kategoriyalar tartibli emas (shaharlar — ixtiyoriy tartib; chiziq tartib bordek ko'rsatadi — chalg'ituvchi; vaqt — tabiiy tartib). "Nega bar to'g'ri": (a) alohida ustun — bar har kategoriyani alohida ustun (orasida bog'lanish yo'q — mustaqil; shaharlar alohida); (b) taqqoslash — bar balandlik taqqoslash (kategoriyalar — qaysi katta; oraliq yo'q); (c) tartib erkin — bar tartibi erkin (saralash mumkin — katta-kichik; chiziq tartib talab); (d) oraliq yo'q — bar oraliqni ko'rsatmaydi (faqat kategoriya qiymati — to'g'ri). "Umumiy qoida": chiziq (uzluksiz — vaqt, tartibli son; oraliq ma'noli), bar (kategoriya — alohida, tartibsiz; oraliq yo'q). Saboqlar: chiziq oraliq (uzluksiz — vaqt); kategoriya oraliq yo'q (alohida); chiziq soxta oraliq (chalg'ituvchi); bar to'g'ri (alohida ustun, taqqoslash). To'g'ri: vaqt/uzluksiz — chiziq; kategoriya — bar; grafik turi ma'lumotga mos (uzluksiz vs kategoriya). Muvozanat: chiziq (o'zgarish — vaqt) + bar (taqqoslash — kategoriya); to'g'ri tur (ma'lumotga). Bu vizualizatsiya asosiy (grafik turi ma'lumotga mos — uzluksiz chiziq, kategoriya bar; noto'g'ri tur chalg'itadi). Chiziqli grafik — uzluksizlik (vaqt; kategoriya — bar).
1. Nega chiziq uzluksizlik
- Chiziq oraliqni bog'laydi (orasida qiymat bor deb)
- Uzluksiz (vaqt — har lahza qiymat)
- Oraliq ma'noli (o'zgarish — trend)
2. Nega kategoriya chalg'ituvchi
- Kategoriya alohida (orasida qiymat yo'q)
- Chiziq soxta oraliq (shaharlar orasi — ma'nosiz)
- Tartib yo'q (chiziq tartib bordek)
3. Nega bar to'g'ri
- Alohida ustun (mustaqil — bog'lanish yo'q)
- Taqqoslash (balandlik — kategoriya)
- Tartib erkin (saralash mumkin)
4. Chiziq vs bar
| Chiziq | Bar |
|---|---|
| Uzluksiz (vaqt) | Kategoriya (alohida) |
| Oraliq ma'noli | Oraliq yo'q |
| Tartibli | Tartibsiz |
5. Saboqlar
- Chiziq oraliq (uzluksiz — vaqt)
- Kategoriya oraliq yo'q (alohida)
- Chiziq soxta oraliq (chalg'ituvchi)
- Bar to'g'ri (kategoriya — taqqoslash)
6. Xulosa
- Chiziq uzluksizlik (vaqt — oraliq ma'noli)
- Kategoriya chiziq chalg'ituvchi (soxta oraliq)
- Bar to'g'ri (alohida ustun — kategoriya)
- Grafik turi ma'lumotga mos (uzluksiz/kategoriya)
Nimani mustahkamlaydi: 2.1, 2.7-bo'limlar.
Xulosa
Bu darsda chiziqli grafikni o'rgandik.
Eng muhim uch fikr:
Chiziqli grafik va ko'p chiziq. Chiziqli grafik (
ax.plot(x, y)) — nuqtalarni chiziq bilan bog'laydi (vaqt bo'yicha o'zgarish — x vaqt, y qiymat; trend, mavsumiylik; eng ko'p ishlatiladi). Ko'p chiziq — bir grafikda (taqqoslash — 2023 vs 2024;label+ax.legend()); har chiziq avtomatik rang.Uslub va vaqt qatori. Uslub —
color(rang),linestyle("-" to'liq, "--" uzuq, ":"),marker("o", "s", "^"); farqlash (rang — ko'z; linestyle — rangsiz; marker — nuqtalar). Vaqt qatori grafigi — sana x (3.12; chiziqli ideal — uzluksiz o'zgarish); Pandasdf.plot()(tez — indeks sana avtomatik).O'zgarishni ko'rish. Legend/bezash — legend (ko'p chiziq — shart), title/xlabel/ylabel 5.1-bob. Chiziqli grafik — vaqt bo'yicha o'zgarish (trend, taqqoslash, mavsumiylik, anomaliya); chiziq uzluksizlik anglatadi (vaqt — oraliq ma'noli; kategoriya — bar, chiziq chalg'ituvchi). Data Science'da keng (moliya, savdo, sensor; EDA 9-qism). Tuzoqlar: legend yo'q (ko'p chiziq), juda ko'p chiziq (spagetti — 5-7 kam), kategoriyaga chiziqli (bar), o'q boshi 0 emas (aldash — 5.13), sana tartibi.
Keyingi darsda ustunli grafik (bar chart)ni o'rganamiz: kategoriyalarni taqqoslash — har kategoriya alohida ustun (savdo shahar bo'yicha, mahsulot reytingi).
Izohlar (0)
Izoh yozish uchun kiring.
- Hozircha izoh yo'q. Birinchi bo'ling!