Лекція 8. Побудова графіків і візуалізація даних за допомогою пакета Matplotlib
Сайт: | Навчально-інформаційний портал НУБіП України |
Курс: | Кросплатформне програмування (Python) |
Книга: | Лекція 8. Побудова графіків і візуалізація даних за допомогою пакета Matplotlib |
Надруковано: | Гість-користувач |
Дата: | субота, 7 червня 2025, 20:19 |
Опис
Встановлення пакету Matplotlib. Функції для побудови і оформлення двовимірних графіків. Побудова і оформлення діаграм.
1. Встановлення пакету Matplotlib
Matplotlib — це комплексна бібліотека для створення статичних, анімованих та інтерактивних візуалізацій на Python. Matplotlib робить легкі речі легкими, а складні – можливими.
Команда для встановлення бібліотеки:pip install matplotlib
Простий приклад використання бібліотеки для перевірки.import matplotlib.pyplot as plt
plt.plot([1, 2, 3], [4, 5, 6])
plt.show()
Результат:
На офіційному сайті Mathplotlib можна ознайомитись з прикладами.
https://matplotlib.org/stable/gallery/index
Також для швидкої перевірки можна використовувати playground https://python-fiddle.com/examples/matplotlib.
2. Функції для побудови і оформлення двовимірних графіків.
Побудова графіка
Для побудови графіка потрібно імпортувати модуль matplotlib.pyplot
import matplotlib.pyplot as plt
Потім викликати функції для побудови графіку і викликати .show()
plt.plot([0, 1, 2], [0, 1, 4])
plt.show()
Типи графіків:
-
plot(x, y, ...)
— побудова лінійного графіка
plt.plot([0, 1, 2], [0, 1, 4], color='blue', linestyle='--',
marker='o')
-
scatter(x, y, ...)
— точковий графік (діаграма розсіювання)
plt.scatter([1, 2, 3], [4, 5, 6])
-
bar(x, height)
— стовпчиковий графік
plt.bar(['A', 'B', 'C'], [5, 7, 3])
-
hist(data)
— гістограма
plt.hist([1, 2, 2, 3, 3, 3, 4])
-
pie(sizes)
— кругова діаграма
plt.pie([30, 50, 20],
labels=['A', 'B', 'C'], autopct='%1.1f%%')
Функції для оформлення графіків
title("Заголовок") — назва графіка
plt.title("Графік залежності Y від X")
xlabel("Назва осі X"), ylabel("Назва осі Y") — підписи осей
plt.xlabel("Час (с)")
plt.ylabel("Температура (°C)")
legend() — легенда
plt.plot(x, y1, label="Перша лінія")
plt.plot(x, y2, label="Друга лінія")
plt.legend()
grid(True) — відображення сітки
plt.grid(True)
xlim(min, max), ylim(min, max) — обмеження осей
plt.xlim(0, 10)
plt.ylim(-1, 1)
Збереження графіку у файл
plt.savefig("my_plot.png")
3. Побудова і оформлення діаграм.
Основні типи діаграм: стовпчикові, секторні (кругові), гістограми, діаграми розсіювання, боксплоти тощо.
1. Стовпчикова діаграма (bar)
import matplotlib.pyplot as plt
labels = ['A', 'B', 'C', 'D']
values = [10, 24, 36, 18]
plt.bar(labels, values, color='skyblue', edgecolor='black')
plt.title("Стовпчикова діаграма")
plt.xlabel("Категорії")
plt.ylabel("Значення")
plt.grid(axis='y')
plt.show()
Горизонтальна:
plt.barh(labels, values, color='lightgreen')
2. Кругова діаграма (pie)
sizes = [40, 30, 20, 10]
labels = ['Python', 'JavaScript', 'C++', 'Java']
colors = ['gold', 'lightblue', 'lightcoral', 'yellowgreen']
plt.pie(sizes, labels=labels, colors=colors, autopct='%1.1f%%', startangle=140)
plt.title("Популярність мов програмування")
plt.axis('equal') # рівномірне коло
plt.show()
3. Гістограма (hist)
data = [12, 15, 20, 22, 22, 22, 23, 25, 30, 30, 35]
plt.hist(data, bins=5, color='salmon', edgecolor='black')
plt.title("Гістограма частот")
plt.xlabel("Інтервали")
plt.ylabel("Кількість")
plt.grid(axis='y')
plt.show()
4. Діаграма розсіювання (scatter)
x = [1, 2, 3, 4, 5]
y = [2, 4, 1, 8, 7]
plt.scatter(x, y, color='red', s=100, alpha=0.6)
plt.title("Діаграма розсіювання")
plt.xlabel("X")
plt.ylabel("Y")
plt.grid(True)
plt.show()
5. Boxplot (ящик з вусами) (boxplot)
data = [[7, 8, 5, 6, 9, 10], [6, 7, 3, 4, 8, 9]]
plt.boxplot(data, patch_artist=True)
plt.title("Boxplot для двох груп")
plt.xticks([1, 2], ['Група 1', 'Група 2'])
plt.grid(True)
plt.show()
Додаткові функції оформлення:
plt.xticks(rotation=45)
— поворот міток по осі Xplt.tight_layout()
— автоматичне коригування відступівplt.legend()
— легенда (у випадку багатьох графіків)plt.annotate()
— підписи на графіку
Шрифти
Розмір шрифта
Колір тексту
Колір тла
Кернінг шрифтів
Видимість картинок
Інтервал між літерами
Висота рядка
Виділити посилання