Mundarija (22)
- 1. Kirish va motivatsiya
- 2. Nazariya — chuqur tushuntirish
- 2.1. Ustunli grafik (bar)
- 2.2. Gorizontal (barh)
- 2.3. Reyting (saralangan)
- 2.4. Guruhlangan va stacked
- 2.5. Qiymatlarni ko'rsatish
- 2.6. Ustunli grafik amaliyoti
- 2.7. Ustunli grafik tuzoqlari
- 2.8. Ustunli grafik — kategoriyalarni taqqoslash
- 3. Tez ma'lumotnoma
- 4. Batafsil misollar
- Misol 1 — Ustunli grafik
- Misol 2 — Gorizontal (barh)
- Misol 3 — Reyting (saralangan)
- Misol 4 — Guruhlangan bar
- 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.3-dars: Ustunli grafik
5-QISM — VIZUALIZATSIYA · 3-dars
1. Kirish va motivatsiya
Ustunli grafik (bar chart) — kategoriyalarni taqqoslash uchun eng yaxshi grafik. Har shahar bo'yicha savdo, har mahsulot reytingi, har oy foydasi — kategoriyalar (alohida guruhlar) va ularning qiymatlari. O'tgan darsda ko'rdik: chiziqli grafik vaqt/uzluksiz uchun, ustunli grafik esa kategoriyalar uchun (har biri alohida ustun, balandligi qiymat). Ustunli grafik oddiy va kuchli: balandlikni taqqoslash — inson ko'zi uchun oson. Nega muhim? (1) Kategoriya taqqoslash — shahar, mahsulot, guruh; (2) Reyting — eng ko'p/kam (saralangan); (3) Guruhlangan — ko'p kategoriya (2023 vs 2024 har shahar). Bu dars ustunli grafikni chuqur o'rgatadi — kategoriyalarni taqqoslash.
Ustunli grafik — kategoriyalarni taqqoslash: ax.bar (vertikal ustun — kategoriya × qiymat), ax.barh (gorizontal — uzun nom uchun), reyting (saralangan — eng ko'p/kam), guruhlangan (grouped — ko'p kategoriya yonma-yon), stacked (ustma-ust — qismlar), bezash (title/label/qiymat). Foydalanish: kategoriya taqqoslash, reyting, guruh. Bu 5.2 (chiziqli), 3.8 (groupby) bilan bog'liq. Ustunli grafik — kategoriya. Bar. Taqqoslash.
Real vaziyat. Data Scientist shahar bo'yicha savdoni ko'rsatdi: ax.bar(shaharlar, savdo) — har shahar alohida ustun (balandlik — savdo; Toshkent eng baland — eng ko'p). Reyting: saralab (nlargest — 3.10) → eng ko'p sotgan mahsulot birinchi (balandlik tartibi). Guruhlangan: 2023 vs 2024 har shahar (ax.bar(x, y2023) + ax.bar(x+width, y2024) — yonma-yon; taqqoslash). Gorizontal (barh) — uzun shahar nomlari (o'qilishli). Grafik kategoriyani taqqosladi (balandlik — qaysi katta; jadval yashiradi). Ustunli grafik — kategoriya ko'zi (taqqoslash, reyting).
Bu darsda ustunli grafikni o'rganamiz.
Bu darsda:
- Ustunli grafik (bar)
- Gorizontal (barh)
- Reyting (saralangan)
- Guruhlangan va stacked
- Qiymatlarni ko'rsatish
- Ustunli grafik amaliyoti
- Ustunli grafik tuzoqlari
- Amaliy: ustunli grafik modeli
ℹ Misollar real matplotlib bilan (Agg — grafik xususiyatlari matn bilan tekshiriladi) ishlaydi.
2. Nazariya — chuqur tushuntirish
2.1. Ustunli grafik (bar)
Kategoriya × qiymat:
import matplotlib.pyplot as plt
shaharlar = ["Toshkent", "Samarqand", "Buxoro"]
savdo = [500, 300, 200]
fig, ax = plt.subplots()
ax.bar(shaharlar, savdo) # har kategoriya alohida ustun
ax.set_title("Shahar bo'yicha savdo")
ax.set_ylabel("Savdo") Ustunli grafik (bar) — kategoriya × qiymat: ax.bar(kategoriyalar, qiymatlar) (har kategoriya alohida ustun — balandlik qiymat). Sabab: kategoriyalarni taqqoslash (shahar, mahsulot — alohida guruhlar; qaysi katta/kichik); balandlik taqqoslash (inson ko'zi — oson). ax.bar(x, y) (x — kategoriya nomlari, y — qiymatlar). Har ustun mustaqil (kategoriya — orasida bog'lanish yo'q; 5.2 — chiziq emas). Ustunli grafik kategoriya uchun (vaqt — chiziqli). Ustunli grafik — bar (kategoriya × qiymat). Ustun. Taqqoslash.
2.2. Gorizontal (barh)
Yotiq ustunlar:
shaharlar = ["Toshkent", "Samarqand", "Buxoro"]
savdo = [500, 300, 200]
fig, ax = plt.subplots()
ax.barh(shaharlar, savdo) # gorizontal (yotiq)
# barh — uzun nomlar uchun (o'qilishli)
# ko'p kategoriya uchun ham (vertikal siqiladi) Gorizontal (barh) — yotiq ustunlar: ax.barh(kategoriyalar, qiymatlar) (ustunlar yotiq — gorizontal). Sabab: uzun nomlar (shahar nomlari, mahsulot — vertikalda o'qib bo'lmaydi, ustma-ust; gorizontal — nom chapda, o'qilishli), ko'p kategoriya (vertikal siqiladi — gorizontal joy ko'p). bar (vertikal — kam kategoriya, qisqa nom), barh (gorizontal — uzun nom, ko'p kategoriya). Reyting uchun ham (gorizontal — eng ko'p tepada yoki pastda, o'qilishli). Gorizontal — barh (yotiq; uzun nom). O'qilishli. Uzun nom.
2.3. Reyting (saralangan)
Reyting (saralangan) — tartibli ustun: ustunlarni saralab ko'rsatish (eng ko'p → eng kam yoki aksincha; sort_values/nlargest — 3.10). Sabab: reyting aniq (eng katta darrov — saralangan; tartibsiz — chalkash); saralangan ustun taqqoslash oson (balandlik tartibi — 1-o'rin, 2-o'rin). Pandas: df.sort_values("savdo").plot.bar() (saralab bar); nlargest(10) (top 10). Saralash yo'nalishi (kamayish — eng ko'p birinchi; gorizontal — eng ko'p tepada barh + sort_values). Reyting — saralangan (taqqoslash oson). Reyting — saralangan ustun (eng ko'p/kam). Tartib. Taqqoslash.
2.4. Guruhlangan va stacked
Guruhlangan va stacked — ko'p kategoriya: guruhlangan (grouped — har kategoriyada ko'p ustun yonma-yon; 2023 vs 2024 har shahar — ikki ustun; ax.bar(x - width/2, y1) + ax.bar(x + width/2, y2)), stacked (ustma-ust — qismlar bir ustunda; ax.bar(x, y1) + ax.bar(x, y2, bottom=y1); jami + qismlar). Sabab: ba'zan ikki o'lchamli taqqoslash (shahar VA yil — guruhlangan yonma-yon; yoki shahar jami + qismlar — stacked). Guruhlangan (qismlarni taqqoslash — 2023 vs 2024), stacked (jami + tarkib — shahar jami, mahsulot qismlari). Legend (qaysi ustun/qism nima). Guruhlangan/stacked — ko'p ustun (yonma-yon/ustma-ust). Ko'p o'lcham. Legend.
2.5. Qiymatlarni ko'rsatish
Qiymatlarni ko'rsatish — ustun ustida raqam: ax.bar_label(bars) (har ustun balandligi — aniq qiymat; bars = ax.bar(...)). Sabab: ustun balandlik taxminan (o'q bilan — aniq emas); qiymat yozilsa aniq (500, 300 — raqam); aniqlik (taqdimot — aniq son). ax.bar_label (avtomatik — har ustunga qiymat). Kam kategoriya (qiymat yozish — o'qilishli; ko'p — chalkash). Qiymat ko'rsatish hisobot uchun (aniq son). Qiymat ko'rsatish — bar_label (ustun ustida). Aniqlik. Hisobot.
2.6. Ustunli grafik amaliyoti
Ustunli grafik amaliyoti: ax.bar (vertikal — kkategoriya); ax.barh (gorizontal — uzun nom); reyting (saralangan — sort_values); guruhlangan (ko'p ustun — yonma-yon); stacked (ustma-ust — qismlar); bar_label (qiymat); bezash (title/label). Tuzoqlar: kcategoriyaga chiziqli (bar), o'q boshi 0 emas (aldash — 5.13; bar uchun 0 shart), juda ko'p kategoriya (chalkash — barh yoki top N), saralanmagan (reyting noaniq). Amaliyot — bar, barh, reyting, guruhlangan. Kategoriya. Taqqoslash.
2.7. Ustunli grafik tuzoqlari
Ustunli grafik asosiy tuzoqlari: o'q boshi 0 emas (bar y o'q 0 dan boshlanishi shart — bar balandlik qiymatni ko'rsatadi; 90 dan boshlansa kichik farq katta ko'rinadi — aldash, 5.13; chiziqda moslashuvchan, barda 0 shart); kategoriyaga chiziqli (kategoriya — bar; chiziq soxta oraliq — 5.2); juda ko'p kategoriya (20+ ustun — chalkash; barh (gorizontal) yoki top N (nlargest — 3.10)); saralanmagan (reyting — saralab; tartibsiz chalkash); guruhlangan legend yo'q (ko'p ustun — qaysi nima; legend); rang chalkash (guruhlangan — farqli rang); qiymat ko'p kategoriya (bar_label ko'p ustunda — chalkash; kam kategoriya); 3D bar (3D — chalg'ituvchi, o'qib bo'lmaydi; 2D afzal). Sabab: ustunli grafik o'q/kategoriya nozik (o'q boshi, ko'p kategoriya, saralash — aldash yoki chalkash). Yechim: o'q boshi 0, barh (uzun/ko'p), saralab, legend. Tuzoqlar — o'q boshi, kategoriya, ko'p kategoriya, saralash.
2.8. Ustunli grafik — kategoriyalarni taqqoslash
Ustunli grafik asosiy g'oyasi — kategoriyalarni taqqoslash: har kategoriya (shahar, mahsulot — alohida guruh) alohida ustun (balandlik — qiymat); balandlik taqqoslash (inson ko'zi — oson: qaysi katta/kichik). ax.bar (vertikal — kam kategoriya, qisqa nom), ax.barh (gorizontal — uzun nom, ko'p kategoriya), reyting (saralangan — eng ko'p/kam, 3.10), guruhlangan (ko'p ustun yonma-yon — shahar × yil), stacked (ustma-ust — jami + qismlar), bar_label (qiymat — aniq). Foydalanish: kategoriya taqqoslash (shahar savdosi), reyting (top mahsulot), guruh (ko'p o'lcham). Muhim: o'q boshi 0 (bar balandlik — 0 shart; aldamaslik 5.13); kategoriya — bar (vaqt — chiziqli 5.2). Data Science'da keng (taqqoslash, reyting, hisobot; groupby natija — 3.8, bar). Bu 5.2 (chiziqli), 3.8 (groupby) davomi va 5.13 (yolg'on grafik) bilan. Ustunli grafik — kategoriyalarni taqqoslash (bar, barh). Kategoriya. Taqqoslash.
3. Tez ma'lumotnoma
import matplotlib.pyplot as plt
# USTUNLI GRAFIK (kategoriya × qiymat):
fig, ax = plt.subplots()
ax.bar(shaharlar, savdo) # vertikal
ax.barh(shaharlar, savdo) # gorizontal (uzun nom, ko'p kategoriya)
# REYTING (saralangan — 3.10):
df.sort_values("savdo").plot.bar(x="shahar", y="savdo", ax=ax)
df.nlargest(10, "savdo") # top 10
# GURUHLANGAN (ko'p ustun yonma-yon):
import numpy as np
x = np.arange(len(shaharlar)); width = 0.35
ax.bar(x - width/2, y2023, width, label="2023")
ax.bar(x + width/2, y2024, width, label="2024")
ax.legend()
# STACKED (ustma-ust — qismlar):
ax.bar(x, y1); ax.bar(x, y2, bottom=y1)
# QIYMAT (ustun ustida):
bars = ax.bar(shaharlar, savdo); ax.bar_label(bars)
QOIDA: o'q boshi 0 (bar shart!) · kategoriya (chiziq emas) · saralab · barh (uzun nom)Ustunli grafik xulosasi
Ustunli grafik — kategoriyalarni taqqoslash (bar)
bar (vertikal) / barh (gorizontal — uzun nom, ko'p kategoriya)
Reyting — saralangan (eng ko'p/kam — 3.10)
Guruhlangan (yonma-yon) / stacked (ustma-ust — qismlar)
O'q boshi 0 SHART (bar balandlik — aldamaslik 5.13)4. Batafsil misollar
Misollar real matplotlib bilan (Agg — grafik xususiyatlari matn bilan tekshiriladi) ishlaydi.
Misol 1 — Ustunli grafik
"""Ustunli grafik (real matplotlib)."""
import matplotlib
matplotlib.use("Agg")
import matplotlib.pyplot as plt
def main() -> None:
shaharlar = ["Toshkent", "Samarqand", "Buxoro"]
savdo = [500, 300, 200]
fig, ax = plt.subplots()
bars = ax.bar(shaharlar, savdo)
print("=== 1. Ustunlar ===")
print(f" ustunlar soni: {len(bars)}")
print("\n=== 2. Balandliklar ===")
print(f" savdo: {[int(b.get_height()) for b in bars]}")
print("\n=== 3. Eng baland (Toshkent) ===")
balandliklar = [b.get_height() for b in bars]
print(f" eng baland: {shaharlar[balandliklar.index(max(balandliklar))]}")
print("\n=== 4. Bezash ===")
ax.set_title("Shahar savdosi")
print(f" title: {ax.get_title()}")
plt.close(fig)
print(" ⭐ Ustunli grafik — kategoriya × qiymat")
if __name__ == "__main__":
main()Natijaning muhim qismi:
=== 1. Ustunlar ===
ustunlar soni: 3
=== 2. Balandliklar ===
savdo: [500, 300, 200]
=== 3. Eng baland (Toshkent) ===
eng baland: Toshkent
=== 4. Bezash ===
title: Shahar savdosi
⭐ Ustunli grafik — kategoriya × qiymatNima ko'rsatdi: 2.1-bo'lim.
Misol 2 — Gorizontal (barh)
"""Gorizontal ustunli grafik (real matplotlib)."""
import matplotlib
matplotlib.use("Agg")
import matplotlib.pyplot as plt
def main() -> None:
mahsulotlar = ["Noutbuk", "Telefon", "Planshet"]
savdo = [800, 600, 400]
fig, ax = plt.subplots()
bars = ax.barh(mahsulotlar, savdo)
print("=== 1. Gorizontal ustunlar ===")
print(f" ustunlar: {len(bars)}")
print("\n=== 2. Kengliklar (qiymat) ===")
print(f" savdo: {[int(b.get_width()) for b in bars]}")
print("\n=== 3. Uzun nomlar uchun ===")
print(f" nomlar: {mahsulotlar}")
print("\n=== 4. Tushuntirish ===")
print(" barh — gorizontal (uzun nom o'qilishli)")
plt.close(fig)
print(" ⭐ Gorizontal — barh (uzun nom)")
if __name__ == "__main__":
main()Natijaning muhim qismi:
=== 1. Gorizontal ustunlar ===
ustunlar: 3
=== 2. Kengliklar (qiymat) ===
savdo: [800, 600, 400]
=== 3. Uzun nomlar uchun ===
nomlar: ['Noutbuk', 'Telefon', 'Planshet']
=== 4. Tushuntirish ===
barh — gorizontal (uzun nom o'qilishli)
⭐ Gorizontal — barh (uzun nom)Nima ko'rsatdi: 2.2-bo'lim.
Misol 3 — Reyting (saralangan)
"""Reyting: saralangan bar (real pandas/matplotlib)."""
import matplotlib
matplotlib.use("Agg")
import matplotlib.pyplot as plt
import pandas as pd
def main() -> None:
df = pd.DataFrame({
"mahsulot": ["A", "B", "C", "D"],
"savdo": [300, 500, 200, 400],
})
print("=== 1. Saralash (kamayish) ===")
saralangan = df.sort_values("savdo", ascending=False)
print(f" tartib: {list(saralangan['mahsulot'])}")
print("\n=== 2. Bar (saralangan) ===")
fig, ax = plt.subplots()
bars = ax.bar(saralangan["mahsulot"], saralangan["savdo"])
print(f" balandliklar: {[int(b.get_height()) for b in bars]}")
print("\n=== 3. Eng ko'p birinchi ===")
print(f" 1-o'rin: {saralangan.iloc[0]['mahsulot']}")
print("\n=== 4. Tushuntirish ===")
print(" saralangan → reyting aniq (eng ko'p birinchi)")
plt.close(fig)
print(" ⭐ Reyting — saralangan (taqqoslash oson)")
if __name__ == "__main__":
main()Natijaning muhim qismi:
=== 1. Saralash (kamayish) ===
tartib: ['B', 'D', 'A', 'C']
=== 2. Bar (saralangan) ===
balandliklar: [500, 400, 300, 200]
=== 3. Eng ko'p birinchi ===
1-o'rin: B
=== 4. Tushuntirish ===
saralangan → reyting aniq (eng ko'p birinchi)
⭐ Reyting — saralangan (taqqoslash oson)Nima ko'rsatdi: 2.3-bo'lim.
Misol 4 — Guruhlangan bar
"""Guruhlangan bar (real numpy/matplotlib)."""
import matplotlib
matplotlib.use("Agg")
import matplotlib.pyplot as plt
import numpy as np
def main() -> None:
shaharlar = ["Toshkent", "Samarqand"]
y2023 = [400, 300]
y2024 = [500, 350]
x = np.arange(len(shaharlar))
width = 0.35
fig, ax = plt.subplots()
b1 = ax.bar(x - width/2, y2023, width, label="2023")
b2 = ax.bar(x + width/2, y2024, width, label="2024")
ax.legend()
print("=== 1. Ikki guruh ===")
print(f" ustunlar guruhi: {len(ax.containers)}")
print("\n=== 2. 2023 balandliklari ===")
print(f" 2023: {[int(b.get_height()) for b in b1]}")
print("\n=== 3. 2024 (yuqori) ===")
print(f" 2024: {[int(b.get_height()) for b in b2]}")
print("\n=== 4. Legend ===")
yorliqlar = [t.get_text() for t in ax.get_legend().get_texts()]
print(f" yorliqlar: {yorliqlar}")
plt.close(fig)
print(" ⭐ Guruhlangan — ko'p ustun yonma-yon (taqqoslash)")
if __name__ == "__main__":
main()Natijaning muhim qismi:
=== 1. Ikki guruh ===
ustunlar guruhi: 2
=== 2. 2023 balandliklari ===
2023: [400, 300]
=== 3. 2024 (yuqori) ===
2024: [500, 350]
=== 4. Legend ===
yorliqlar: ['2023', '2024']
⭐ Guruhlangan — ko'p ustun yonma-yon (taqqoslash)Nima ko'rsatdi: 2.4-bo'lim.
5. To'g'ri va noto'g'ri tushunishlar
| Noto'g'ri fikr | To'g'risi |
|---|---|
| "bar har xil ma'lumot" | Kategoriya (vaqt — chiziqli) |
| "o'q boshi ixtiyoriy" | 0 SHART (bar balandlik) |
| "saralash keraksiz" | Reyting (saralangan) |
| "uzun nom vertikal" | barh (gorizontal) |
| "ko'p kategoriya OK" | 20+ chalkash (barh/top N) |
| "guruhlangan legendsiz" | Legend (qaysi nima) |
| "3D bar chiroyli" | 2D (3D o'qib bo'lmaydi) |
| "kategoriya — chiziqli" | Bar (kategoriya) |
6. Keng tarqalgan xatolar va yechimlari
1. O'q boshi 0 emas
ax.set_ylim(90, 110) # bar — kichik farq katta (aldash) # ⚠️
ax.set_ylim(0, 110) # 0 dan (bar SHART — 5.13) # ✅2. Kategoriyaga chiziqli
ax.plot(shaharlar, savdo) # kategoriya (soxta oralik) # ⚠️
ax.bar(shaharlar, savdo) # bar # ✅3. Saralanmagan
ax.bar(df["mahsulot"], df["savdo"]) # tartibsiz # ⚠️
ax.bar(df.sort_values("savdo")...) # reyting # ✅4. Uzun nom vertikal
ax.bar(uzun_nomlar, y) # nomlar ustma-ust (o'qib bo'lmaydi) # ⚠️
ax.barh(uzun_nomlar, y) # gorizontal # ✅5. Ko'p kategoriya
ax.bar(50_kategoriya, y) # chalkash # ⚠️
df.nlargest(10, "savdo") # top 10 # ✅6. Guruhlangan legendsiz
ax.bar(...); ax.bar(...) # qaysi guruh nima # ⚠️
ax.bar(..., label="2023"); ax.legend() # ✅7. 3D bar
# 3D bar (o'qib bo'lmaydi, chalg'ituvchi) # ⚠️
# 2D bar (aniq) # ✅7. Integratsiya — bu bilim qayerda kerak bo'ladi
- 5.2-dars (o'tilgan): Chiziqli grafik (vaqt)
- 3.8-dars (o'tilgan): groupby (natija — bar)
- 3.10-dars (o'tilgan): Saralash (reyting)
- 5.13-dars: Yolg'on grafiklar (o'q boshi)
- 9-qism (reja): EDA (kategoriya taqqoslash)
8. Eng yaxshi amaliyotlar
ax.bar— kategoriya (vaqt — chiziqli).O'q boshi 0 SHART (bar balandlik).
Saralangan — reyting (eng ko'p/kam).
barh— uzun nom, ko'p kategoriya.Top N — ko'p kategoriya (nlargest).
Guruhlangan — legend (qaysi nima).
bar_label— qiymat (aniq).Ustunli grafik — kategoriyalarni taqqoslash.
9. Amaliy topshiriq
Vazifa 1: Bashorat qiling
1. # ustunli grafik nima?
2. # bar nima qiladi?
3. # qachon bar?
4. # barh nima?
5. # barh qachon?
6. # reyting nima?
7. # guruhlangan nima?
8. # stacked nima?
9. # o'q boshi 0?
10. # ko'p kategoriya?
11. # bar_label nima?
12. # nega bar muhim?Javoblar
- Kategoriyalarni taqqoslash
- Kategoriya × qiymat (ustun)
- Kategoriya (vaqt — chiziqli)
- Gorizontal (yotiq)
- Uzun nom, ko'p kategoriya
- Saralangan (eng ko'p/kam)
- Ko'p ustun yonma-yon
- Ustma-ust (qismlar)
- SHART (bar balandlik — aldamaslik)
- barh yoki top N
- Qiymat (ustun ustida)
- Kategoriya taqqoslash (balandlik)
Vazifa 2: Xatolarni tuzating
1. ax.set_ylim(90, 110) # bar aldash
2. ax.plot(shaharlar, savdo) # kategoriya
3. ax.bar(df["m"], df["s"]) # tartibsiz
4. ax.bar(uzun_nomlar, y) # o'qib bo'lmaydi
5. ax.bar(50_kat, y) # chalkashJavoblar
1. ax.set_ylim(0, 110)
2. ax.bar(shaharlar, savdo)
3. df.sort_values("s") (reyting)
4. ax.barh (gorizontal)
5. df.nlargest(10) (top N)Vazifa 3: Bar
Modellang:
- Kategoriya
- Ustun
- Balandlik
- Taqqoslash
Vazifa 4: barh
Modellang:
- Gorizontal
- Uzun nom
- Ko'p kategoriya
- O'qilishli
Vazifa 5: Reyting
Modellang:
- Saralangan
- Eng ko'p
- Top N
- Tartib
Vazifa 6: Guruhlangan
Modellang:
- Ko'p ustun
- Yonma-yon
- Legend
- Stacked
Vazifa 7: O'ylash
Ustunli grafikda y o'q 0 dan boshlanishi SHART (chiziqli grafikda esa moslashuvchan bo'lishi mumkin). Nima uchun bar chart 0 dan boshlanishi kerak (nega 0 dan boshlamaslik aldash), va nega bu chiziqli grafikda unchalik muhim emas?
Javoblar
Qisqa javob: Bar chart y o'q 0 dan shart, 0 dan boshlamaslik aldash, chiziqlida uncha muhim emas, chunki: (1) bar balandlik = qiymat — bar balandligi qiymatni ko'rsatadi (ustun balandligi — miqdor; ko'z balandlikni taqqoslaydi); balandlik qiymatga mutanosib bo'lishi kerak (100 ustun 50 ustundan 2 baravar baland — 0 dan; aks holda noto'g'ri); (2) 0 dan boshlamaslik buzadi — y o'q 90 dan boshlansa (90-110), 100 va 105 ustunlari 10 va 15 balandlik (1.5 baravar farq ko'rinadi — aslida 5% farq!); kichik farq katta ko'rinadi (aldash — 5% ni 50% qilib ko'rsatadi); (3) vizual yolg'on — bar 0 dan boshlamasa balandlik nisbati buziladi (ko'z balandlikni taqqoslaydi — noto'g'ri nisbat = noto'g'ri xulosa; mashhur aldash usuli — 5.13). "Nega chiziqlida uncha muhim emas": (a) chiziq — o'zgarish — chiziqli grafik o'zgarish/trendni ko'rsatadi (nuqtalar orasi nishab — o'zgarish; balandlik emas); chiziq holati emas, yo'nalishi muhim; (b) kichik farq ko'rish — chiziqda o'q boshi 0 emas bo'lsa kichik o'zgarishni ko'rish foydali (harorat 20-25° — 0 dan boshlansa tekis chiziq, farq ko'rinmaydi; 20 dan — o'zgarish aniq); (c) balandlik taqqoslash yo'q — chiziqda ustun balandlik taqqoslash yo'q (nuqtalar — o'zgarish; nisbat muhim emas). "Lekin ehtiyot": chiziqda ham manipulyatsiya mumkin (o'q boshi tanlab — kichik o'zgarishni katta; kontekstga — halol bo'lish). Saboqlar: bar balandlik = qiymat (0 dan — mutanosib); 0 dan boshlamaslik aldash (kichik farq katta); chiziq o'zgarish (balandlik emas — 0 uncha muhim emas); kontekst (halol — 5.13). To'g'ri: bar 0 dan (shart); chiziq — kontekstga (kichik o'zgarish ko'rish mumkin, lekin halol). Muvozanat: bar (balandlik — 0 shart) vs chiziq (o'zgarish — moslashuvchan); grafik turi o'q qoidasini belgilaydi. Bu vizualizatsiya etikasi (aldamaslik — 5.13; bar 0 dan; halol grafik). Bar — kategoriya taqqoslash (balandlik — 0 dan shart).
1. Nega bar 0 dan shart
- Bar balandlik = qiymat (ko'z balandlik taqqoslaydi)
- Balandlik qiymatga mutanosib (100 = 2× 50 — 0 dan)
- 0 dan boshlamaslik balandlik nisbatini buzadi
2. Nega 0 dan boshlamaslik aldash
- 90 dan boshlansa — 5% farq 50% ko'rinadi
- Kichik farq katta (vizual yolg'on)
- Mashhur aldash usuli (5.13)
3. Nega chiziqda uncha muhim emas
- Chiziq o'zgarish/trend (balandlik emas)
- Yo'nalish muhim (holat emas)
- Kichik o'zgarish ko'rish (0 emas — foydali)
4. Bar vs chiziq (o'q boshi)
| Bar | Chiziq |
|---|---|
| Balandlik = qiymat | O'zgarish/trend |
| 0 dan SHART | Moslashuvchan |
| Aldash (0 emas) | Kichik farq ko'rish |
5. Saboqlar
- Bar balandlik = qiymat (0 dan — mutanosib)
- 0 dan boshlamaslik aldash (kichik katta)
- Chiziq o'zgarish (0 uncha muhim emas)
- Kontekst (halol — 5.13)
6. Xulosa
- Bar 0 dan shart (balandlik = qiymat)
- 0 dan boshlamaslik aldash (nisbat buziladi)
- Chiziq o'zgarish (0 uncha muhim emas)
- Grafik turi o'q qoidasini belgilaydi
Nimani mustahkamlaydi: 2.1, 2.7-bo'limlar.
Xulosa
Bu darsda ustunli grafikni o'rgandik.
Eng muhim uch fikr:
Bar va barh. Ustunli grafik (
ax.bar(kategoriyalar, qiymatlar)) — har kategoriya alohida ustun (balandlik — qiymat; kategoriyalarni taqqoslash — balandlik, ko'z uchun oson). Gorizontal (ax.barh) — yotiq ustunlar (uzun nomlar — o'qilishli; ko'p kategoriya — vertikal siqiladi).Reyting va guruhlangan. Reyting — saralangan ustun (
sort_values/nlargest— eng ko'p/kam; taqqoslash oson — 3.10). Guruhlangan (grouped — ko'p ustun yonma-yon; shahar × yil — 2023/2024; legend), stacked (ustma-ust — jami + qismlar).bar_label(ustun ustida qiymat — aniq).Kategoriya taqqoslash. Ustunli grafik — kategoriyalarni taqqoslash (balandlik — qaysi katta; kategoriya — bar, vaqt — chiziqli 5.2). Muhim: o'q boshi 0 SHART (bar balandlik = qiymat; 0 dan boshlamaslik kichik farqni katta ko'rsatadi — aldash 5.13; chiziqda moslashuvchan — o'zgarish). Data Science'da keng (taqqoslash, reyting, hisobot; groupby natija — 3.8). Tuzoqlar: o'q boshi 0 emas (aldash), kategoriyaga chiziqli, ko'p kategoriya (barh/top N), saralanmagan, guruhlangan legendsiz.
Keyingi darsda nuqtali grafik (scatter plot)ni o'rganamiz: ikki o'zgaruvchan orasidagi aloqa — korrelyatsiya, guruh, outlier (4.9 korrelyatsiya grafigi).
Izohlar (0)
Izoh yozish uchun kiring.
- Hozircha izoh yo'q. Birinchi bo'ling!