Інформація про новину
  • Переглядів: 1892
  • Дата: 2-02-2022, 08:59
2-02-2022, 08:59

34. Візуалізація елементів табличної величини в Python

Категорія: Інформатика





Попередня сторінка:  33. Об’єкти класу Listbox в Python
Наступна сторінка:   35. Поняття двовимірного масиву. Вкладе...

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

Розглянемо два способи побудови діаграм: із використанням

графічних методів модуля tkinter і за допомогою методів бібліотеки matplotlib.

Побудова діаграм із використанням графічних методів модуля tkinter

Діаграма — це графічне зображення, у якому числові дані подано геометричними фігурами. Діаграми можна створювати, програмуючи креслення графічних примітивів (лінія, прямокутник, сектор) графічними методами полотна Canvas, із якими ви знайомі з курсу 7 класу.

ПРИКЛАД 1. Гістограма (стовпчикова діаграма) використовується для порівняння елементів табличної величини. Побудуємо гістограму показника успішності учнів 9А класу з чотирьох предметів, значення якого занесені до списку ndu (рис. 34.1).

Областю побудови діаграми є полотно об’єкта Canvas розмірами 300 х 220 пікселів. Координатні осі намальовані за допомогою методу canvas.create_line(). Для малювання стрілок до переліку параметрів методу додано параметри arrow та arrowshape. Атрибуту arrow надано значення LAST, що задає розміщення стрілки в кінці лінії. Значення атрибуту arrowshape задає розміри стрілки.

Ряди даних побудовані методом create_rectangle().

До діаграми слід додати підписи осей і рядів даних. Розмістити текст на полотні можна за допомогою методу create_text(x, у, text). За замовчуванням у точці (х ,у) розташовується центр напису. Щоб розмістити за вказаними координатами ліву границю тексту, атрибуту anchor надається значення W (від англ. west — захід).

# Побудова координатних осей

ПРИКЛАД 2. Графіки використовуються для зображення зміни значень певної величини в певний період часу. Побудуємо графік зміни значень середньодобової температури повітря за тиждень, які зберігаються в списку а (рис. 34.2).

# Побудова координатних осей

ЦІКАВИНКА. Карен Спарк Джон (рис. 34.3) — британська дослідниця, яка розробила технології пошуку, що дозволили користувачам і користувачкам працювати з комп'ютерами, використовуючи слова замість рівнянь та кодів.

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

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

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

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

Кнопка

Призначення

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

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

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

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

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

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

Для підвищення наочності діаграми можна налаштувати такі властивості, як title (заголовок діаграми), xlabel, ylabel (підписи осей), grid (координатна сітка).

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

ПРИКЛАД 4. Побудуємо діаграму з прикладу 1 (рис. 34.5).

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

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

 

І квартал

ІІ квартал

ІІІ квартал

ІУ квартал

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

100

40

80

70

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

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

1. Обговоріть переваги і недоліки двох способів побудови діаграм.

2. Поясніть послідовність операцій при побудові одного ряду даних за допомогою графічного методу модуля tkinter.

3. Опишіть алгоритм побудови графіка змін деякої величини з використанням графічних методів модуля tkinter.

4. Назвіть методи класу matplotlib.pyplot, призначені для візуалізації табличних величин.

5. Поясніть призначення інструментів інтерактивної навігації графічного вікна

6. Додайте до проєкта Календар нагляду за погодою (практична робота 8) процедуру побудови графіка опадів за рік.

Вправа 34

Створити програму для виконання завдання.

Завдання. У таблиці наведено дані про обсяг продажів книжкового магазину за місяцями за період із січня до червня. Визначити сумарний обсяг продажів за півріччя, побудувати гістограму і кругову діаграму обсягів продажу за місяцями.

 

Січень

Лютий

Березень

Квітень

Травень

Червень

Обсяг продажів, тис. грн

11,0

17,0

18,0

32,5

22,5

15,5

1) Створіть Python file з назвою Продажі. Завантажте модулі tkinter, matplotlib.pyplot. Створіть вікно програми із заголовком Обсяг продажів. Заверште програму оператором root.mainloop().

2) Збережіть масиви назв місяців і значень обсягу продажів у списках month, sales.

Задайте заголовок вікна діаграми:

3) Додайте у вікно програми віджет boxl класу Listbox, занесіть до списку значення списку sales:

4) Додайте у вікно віджет btnl класу Button:

Опишіть функцію btn1_cl(), запишіть оператори для побудови стовпчикової діаграми за значеннями елементів масиву sales:

5) Додайте у вікно віджет btn2 класу Button:

Опишіть функцію btn2_cl(), призначену для побудови графіка за значеннями елементів масиву sales.

6) Додайте у вікно віджет btn3 класу Button:

Опишіть функцію btn3_cl(), призначену для побудови кругової діаграми за значеннями елементів масиву sales.

Випробуйте роботу програми.

Комп’ютерне тестування

Виконайте тестове завдання 34 з автоматичною перевіркою результату.

Практична робота 10. СКЛАДАННЯ І ВИКОНАННЯ АЛГОРИТМІВ ЗНАХОДЖЕННЯ СУМ І КІЛЬКОСТЕЙ ЗНАЧЕНЬ ЕЛЕМЕНТІВ ТАБЛИЧНИХ ВЕЛИЧИН ЗА ЗАДАНИМИ УМОВАМИ

Завдання: створити програму для розв’язування задачі.

Задача. Дано таблицю кількості опадів протягом року за місяцями:

Номер

місяця

1

2

3

4

5

6

7

8

9

10

11

12

К-сть

опадів,

мм

54

12

30

15

40

32

10

30

46

60

56

38

Визначити:

а) кількість опадів за рік;

б) у якому місяці кількість опадів була найменшою;

в) у якому місяці кількість опадів була найбільшою;

г) у які місяці кількість опадів була менша від 40, кількість таких місяців.

Обладнання: комп’ютер із середовищем програмування PyCharm.

Хід роботи

Під час роботи з комп ’ютером дотримуйтесь правил безпеки.

1. Створіть Python file з назвою Опади. Завантажте модулі tkinter, matplotlib.pyplot.

2. Створіть вікно програми із заголовком Таблиця опадів. Заверште програму оператором root.mainloop().

3. Створіть списки для збереження масивів назв місяців і кількостей опадів:

4. Створіть масив об’єктів класу Label, який буде відображати назви місяців:

5. Створіть масив list_2 об’єктів класу Label, який буде відображати значення елементів списку mas.

6. Створіть командні кнопки btnl Опрацювати дані, btn2 Побудувати

графік (див. рисунок).

7. Створіть віджет box1 класу Listbox.

8. Опишіть функцію btn1_cl() — обробник події для кнопки btn1. Обчисліть суму елементів списку mas і додайте результат до списку box1:

9. Додайте до списку box1 назву місяця, в якому кількість опадів була найменшою.

10. Додайте до списку box1 назву місяця, в якому кількість опадів була найбільшою.

11. Користуючись алгоритмом пошуку елементів із заданою властивістю, знайдіть кількість місяців, у яких кількість опадів менша за 40 мм, і виведіть до списку box1 назви цих місяців.

12. Опишіть функцію btn2_cl() — обробник події для кнопки btn2, призначену для побудови графіка за значеннями списку mas.

Зробіть висновок: як застосовувати методи списків і типові алгоритми опрацювання табличних величин.

 

 

Це матеріал з підручника Інформатика 9 клас Бондаренко 2022

 




Попередня сторінка:  33. Об’єкти класу Listbox в Python
Наступна сторінка:   35. Поняття двовимірного масиву. Вкладе...



^