Лекція 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) — поворот міток по осі X
  • plt.tight_layout() — автоматичне коригування відступів
  • plt.legend() — легенда (у випадку багатьох графіків)
  • plt.annotate() — підписи на графіку
Доступність

Шрифти Шрифти

Розмір шрифта Розмір шрифта

1

Колір тексту Колір тексту

Колір тла Колір тла

Кернінг шрифтів Кернінг шрифтів

Видимість картинок Видимість картинок

Інтервал між літерами Інтервал між літерами

0

Висота рядка Висота рядка

1.2

Виділити посилання Виділити посилання