1 of 18

Побудова діаграм за допомогою методів бібліотеки matplotlib

За навчальною програмою 2017 року

Урок 57

Інформатика 9

teach-inf.com.ua

за підручником

Бондаренко О.О. та ін.

2 of 18

Побудова діаграм за допомогою методів бібліотеки matplotlib

Matplotlib — це кросплатформна бібліотека візуалізації даних і побудови діаграм для Python. Щоб установити бібліотеку для роботи в IDLE PyCharm, відкрийте вкладку Terminal і в командному рядку наберіть сполучення клавіш Ctrl + Z, щоб вийти з віртуального оточення; у наступному рядку наберіть команду pip install matplotlib:

(venv) C:\Users\...\PycharmProjects\pythonProject4>^Z

(venv) C:\Users\...\PycharmProjects\pythonProject4>pip install matplotlib

© Вивчаємо інформатику teach-inf.com.ua

Розділ 5

§ 34

3 of 18

Побудова діаграм за допомогою методів бібліотеки matplotlib

Після отримання повідомлення про успішне інсталювання matplotlib можна у Python-файлі

import matplotlib.pyplot as plt

підключати модуль pyplot даної бібліотеки, який містить колекцію функцій для створення діаграм і налаштування їхнього вигляду. Імпортуємо пакет pyplot і коротко позначимо його як plt.

© Вивчаємо інформатику teach-inf.com.ua

Розділ 5

§ 34

4 of 18

Побудова діаграм за допомогою методів бібліотеки matplotlib

ПРИКЛАД 3. Побудуємо стовпчикову діаграму для відображення елементів списку data.

import matplotlib.pyplot as plt

data = [5., 25., 50., 20.]

plt.bar(range(len(data)), data)

plt.show()

© Вивчаємо інформатику teach-inf.com.ua

Розділ 5

§ 34

5 of 18

Побудова діаграм за допомогою методів бібліотеки matplotlib

Для виведення зображення на екран використовується функція plt.show(). Діаграму побудовано в окремому графічному вікні plotting window, яке має заголовок Figure#. Кнопки панелі інструментів вікна мають таке призначення:

Призначення

Кнопка

Повертає графік до первісного стану (вид при першому запуску)

Перетягує (ліва кнопка миші) або встановлює масштаб (права кнопка миші) графіка

© Вивчаємо інформатику teach-inf.com.ua

Розділ 5

§ 34

6 of 18

Побудова діаграм за допомогою методів бібліотеки matplotlib

Продовження…

Призначення

Кнопка

Переміщує назад/вперед по історії зміни графіка. Наприклад, після збільшення показника певної галузі можна повернутися до попереднього, використовуючи кнопку 2

Збільшує зображення

Відкриває додаткові налаштування вікна (наприклад, відступи від країв)

Викликає діалог збереження графіка у файл

© Вивчаємо інформатику teach-inf.com.ua

Розділ 5

§ 34

7 of 18

Побудова діаграм за допомогою методів бібліотеки matplotlib

Для підвищення наочності діаграми можна налаштувати такі властивості, як:

У прикладі 3 функції plt.bar() передано тільки один список чисел, і matplotlib пов’язує цей список із послідовністю чисел x: 0, 1, 2, 3, ...

заголовок діаграми

title

підписи осей

xlabel, ylabel

координатна сітка

grid

© Вивчаємо інформатику teach-inf.com.ua

Розділ 5

§ 34

8 of 18

Побудова діаграм за допомогою методів бібліотеки matplotlib

Зазвичай графік являє собою пару значень (x, y), тому слід задавати два масиви:

будуть значення

для осі x

у першому

будуть значення

для осі y

у другому

© Вивчаємо інформатику teach-inf.com.ua

Розділ 5

§ 34

9 of 18

Побудова діаграм за допомогою методів бібліотеки matplotlib

ПРИКЛАД 4.

Побудуємо діаграму з прикладу 1

(побудуємо гістограму показника успішності учнів 9-А класу з чотирьох предметів).

© Вивчаємо інформатику teach-inf.com.ua

Розділ 5

§ 34

10 of 18

Побудова діаграм за допомогою методів бібліотеки matplotlib

Програмний код до прикладу 4

import matplotlib.pyplot as plt

plt.title('Успішність учнів 9-А класу')

ndu = [9.8, 8.5, 9.1, 7.4]

subject = ['Інф.', 'Алг.', 'Геом.', 'Фіз.']

plt.xlabel('Предмети', color = 'gray')

plt.ylabel('Середній бал', color = 'gray')

plt.grid(True)

plt.bar(subject, ndu)

plt.show()

© Вивчаємо інформатику teach-inf.com.ua

Розділ 5

§ 34

11 of 18

Побудова діаграм за допомогою методів бібліотеки matplotlib

ПРИКЛАД 5. Для побудови графіків призначена функція plot(). Побудуємо графік із прикладу 2, задавши червоний колір лінії (параметр 'r').

© Вивчаємо інформатику teach-inf.com.ua

Розділ 5

§ 34

12 of 18

Побудова діаграм за допомогою методів бібліотеки matplotlib

Програмний код до прикладу 5

import matplotlib.pyplot as plt

plt.title('Середньодобова температура за тиждень')

a = [14, 12, 15, 12, 9, 10, 7]

day = ['Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб', 'Нд’]

plt.xlabel('Дні тижня', color = 'gray')

plt.ylabel('Середньодобова температура', color = 'gray')

plt.grid(True)

plt.plot(day, a, 'r')

plt.show()

© Вивчаємо інформатику teach-inf.com.ua

Розділ 5

§ 34

13 of 18

Побудова діаграм за допомогою методів бібліотеки matplotlib

ПРИКЛАД 6. Побудувати кругову діаграму прибутку підприємства за 4 квартали року:

І квартал

ІІ квартал

ІІІ квартал

ІV квартал

Прибуток

підприємства,

тис. грн

100

40

80

70

© Вивчаємо інформатику teach-inf.com.ua

Розділ 5

§ 34

14 of 18

Побудова діаграм за допомогою методів бібліотеки matplotlib

Програмний код до прикладу 6

import matplotlib.pyplot as plt

plt.title('Прибуток підприємства, тис. грн')

a = [100, 40, 80, 70]

kv = ['I квартал', 'II квартал', 'III квартал', 'IV квартал']

plt.pie(a, labels = kv, autopct = "%.1f%%")

plt.show()

Атрибут autopct дозволяє відображати частку, використовуючи форматування рядка Python.

© Вивчаємо інформатику teach-inf.com.ua

Розділ 5

§ 34

15 of 18

Питання для самоперевірки

  1. Назвіть методи класу matplotlib.pyplot, призначені для візуалізації табличних величин.
  1. Поясніть призначення інструментів інтерактивної навігації графічного вікна
  1. Додайте до проєкта Календар нагляду за погодою (практична робота 8) процедуру побудови графіка опадів за рік.

© Вивчаємо інформатику teach-inf.com.ua

Розділ 5

§ 34

16 of 18

Домашнє завдання

Проаналізувати

§ 34, с. 202-207

© Вивчаємо інформатику teach-inf.com.ua

Розділ 5

§ 34

17 of 18

Працюємо за комп’ютером

Сторінка

206-207

© Вивчаємо інформатику teach-inf.com.ua

Розділ 5

§ 34

18 of 18

Дякую за увагу!

За навчальною програмою 2017 року

Урок 57

Інформатика 9

teach-inf.com.ua

за підручником

Бондаренко О.О. та ін.