Статья Автор: Омарбек Нұр-Мұхаммед

2-сабақ. Matplotlib. Barplot.

Бағанды графиктер (Bar Charts)

Мақсаты: Категориялық деректерді (салыстыруға келетін топтарды) визуализациялауды үйрену.

1. Теориялық бөлім

Сызықтық график уақыт ішіндегі өзгерісті көрсетсе, Бағанды график әртүрлі объектілерді бір-бірімен салыстыру үшін таптырмас құрал.

  • plt.bar(x, y) — тік бағандар.

  • plt.barh(x, y) — көлденең бағандар (horizontal).

  • color — бағандардың түсін өзгерту.

import matplotlib.pyplot as plt
# Деректер
languages = ['Python', 'Java', 'JavaScript', 'C++', 'PHP']
popularity = [100, 70, 90, 60, 40]
# Графикті құру
plt.bar(languages, popularity, color=['gold', 'red', 'yellow', 'blue', 'purple'])
# Безендіру
plt.title("Программалау тілдерінің танымалдылығы")
plt.xlabel("Тілдер")
plt.ylabel("Рейтинг (%)")
# Графикті көрсету
plt.show()

1 тапсырма.

География сабағында сен әлемдегі ең танымал тау шыңдарының биіктігін зерттедің. Енді осы деректерді салыстыру үшін график құрастыр.

Жалпы жағдай:

Деректер:

  • Шыңдар: Эверест, К2, Канченджанга, Лхоцзе, Хан Тәңірі

  • Биіктігі (метр): 8848, 8611, 8586, 8516, 6995

Тапсырма:

  • Ең биік шыңды (Эверест) ерекшеленетін қанық түспен боя, қалғандарын бір стильде қалдыр.
  • Тау шыңдарының айырмашылығын графикте көрсету үшін plt.ylim(6000, 9500) кодын қос

2-тапсырма: "Ауа райы: Бір апталық температура"

Жалпы жағдай: Көктем мезгіліндегі ауа райы құбылмалы. Сен бір апта бойы температураны бақыладың деп елестет. Температура мәндерін 5 пен 25 градус арасындағы кездейсоқ сандармен толтыр.

Деректер:

  • Күндер: Дүйсенбі, Сейсенбі, Сәрсенбі,  Бейсенбі, Жұма, Сенбі. Жексенбі.

  • Температура: random.randint(1, 40) арқылы жасалған 7 сан.

Тапсырма:

  • Бағанды график сал.

  • Қосымша тапсырма: Егер температура 20-дан жоғары болса — бағанды "сары" (күн), ал 10-нан төмен болса — "көгілдір" (салқын) түске боя.
     


3-тапсырма: "Экология: Океандағы қоқыс мөлшері"

Жалпы жағдай: Экологтар мұхиттың 5 түрлі аймағынан табылған пластик қоқыстардың мөлшерін (тоннамен) зерттеп жатыр.

Деректер:

  • Аймақтар: Тынық, Атлант, Үнді, Солтүстік, Оңтүстік.

  • Қоқыс (тонна): random.randint(50, 500) арқылы жасалған 5 сан.

Тапсырма:

  • График barh арқылы сал.

  • Графикке тор көздерін қосып, alpha=0.3 деп орнат.
  • Қосымша: Барлық бағандарды "теңіз" түстеріне жақын түстермен (мысалы, teal, cyan, darkblue) боя.


4-тапсырма: "Формула-1: Пит-стоп жылдамдығы"

Жалпы жағдай: Жарыс кезінде дөңгелек ауыстыру жылдамдығы жеңіске тікелей әсер етеді. Сен 5 команданың пит-стопқа жұмсаған уақытын салыстыруың керек.

Деректер:

  • Командалар: Red Bull, Ferrari, Mercedes, McLaren, Aston Martin.

  • Уақыт (секунд): 2.1, 3.4, 2.8, 2.3, 4.1.

Тапсырма:

  • Тік бағанды график сал.

  • Қосымша: Ең жылдам команданың (Red Bull) бағанын жасыл түспен, ал ең баяу команданы (Aston Martin) қызыл түспен боя.

  • Графиктің y осін 0-ден 5-ке дейін шекте (plt.ylim(0, 5)).


5-тапсырма: "Космос: Планеталардың температурасы"

Жалпы жағдай: Сен ғарышты зерттеушісің. Күн жүйесіндегі кейбір планеталардың беткі орташа температурасын кездейсоқ сандар арқылы модельдеп көр.

Деректер:

  • Планеталар: Марс, Юпитер, Сатурн, Уран, Нептун.

  • Температура (°C): random.randint(-220, -50) арқылы жасалған 5 сан.

Тапсырма:

  • Графикті barh (көлденең) арқылы сал.

  • Қосымша: Барлық бағандарды суық түстерге жататын "көк" немесе "күлгін" реңктерімен боя.

  • Графикке тор көздерін қосып, оның түсін ақшыл сұр етіп бапта.


6-тапсырма: "Компьютер: Процессордың жүктемесі"

Жалпы жағдай: Компьютерде бір уақытта бірнеше ауыр бағдарлама қосылып тұр. Сен әр бағдарламаның процессорды (CPU) қаншалықты жүктеп жатқанын (%) анықтауың керек.

Деректер:

  • Бағдарламалар: Браузер, Видео-монтаж, Ойын, Музыка, Антивирус.

  • Жүктеме (%): random.randint(5, 100) арқылы жасалған 5 сан.

Тапсырма:

  • Бағанды график сал.

  • Қосымша: Егер жүктеме 80%-дан жоғары болса — бағанды "қою қызыл" (қауіпті), ал 30%-дан төмен болса — "жасыл" (қалыпты) түске боя.

  • Графиктің y осіне "Жүктеме (%)" деп жаз және осьті 100-ге дейін бекіт.

Печать