Лекція 8. Побудова графіків і візуалізація даних за допомогою пакета Matplotlib
Встановлення пакету Matplotlib. Функції для побудови і оформлення двовимірних графіків. Побудова і оформлення діаграм.
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()
— підписи на графіку
Шрифти
Розмір шрифта
Колір тексту
Колір тла
Кернінг шрифтів
Видимість картинок
Інтервал між літерами
Висота рядка
Виділити посилання