1. Поняття та використання кругової діаграми
Кругова діаграма, або "пиріг", дозволяє візуально представити відносні розміри частин одного цілого. Якщо ти коли-небудь питав 10 своїх друзів про їх улюблену мову програмування і хотів би представити це у вигляді графіка, кругова діаграма — саме те, що потрібно. Вона чудово підходить для демонстрації складових чогось, наприклад, частки ринку компаній або розподілу щоденного часу між програмуванням і переглядом відео з котиками.
Використання функції pie() для створення кругової діаграми
Matplotlib пропонує круту функцію pie(), яка робить створення кругових діаграм легким, як пиріг!
Ось базовий приклад використання:
import matplotlib.pyplot as plt
# Дані для діаграми
labels = ['Python', 'JavaScript', 'C++', 'Java']
sizes = [40, 30, 20, 10] # Частки у відсотках
colors = ['gold', 'yellowgreen', 'lightcoral', 'lightskyblue'] # Кольори сегментів
# Побудова діаграми
plt.pie(sizes, labels=labels, colors=colors, autopct='%1.1f%%', startangle=140)
# Налаштування осі для кругової діаграми
plt.axis('equal')
# Показати діаграму
plt.show()
У цьому прикладі ми визначили категорії (мови програмування), їх розміри й кольори. Потім викликали функцію pie(), щоб створити діаграму. Параметр autopct='%1.1f%%' додає відсотки на сегменти, а startangle=140 повертає діаграму для кращого вигляду.
2. Налаштування кругових діаграм
Кругова діаграма, як новорічне плаття — її можна прикрасити і налаштувати за своїм смаком. Давай розглянемо кілька способів кастомізації.
Відображення відсотків autopct
Параметр autopct дозволяє відобразити відсоткове співвідношення кожної категорії всередині сектора. Значення "%1.1f%%" задає формат відображення відсотків (одна цифра після коми).
import matplotlib.pyplot as plt
labels = ["Коти", "Собаки", "Птахи", "Риби"]
sizes = [35, 30, 20, 15]
plt.pie(sizes, labels=labels, autopct="%1.1f%%")
plt.title("Популярність домашніх тварин")
plt.show()
Виділення сегмента діаграми explode
Параметр explode дозволяє виділити один або кілька секторів, змістивши їх від центру. Це може бути корисним для акцентування уваги на конкретній категорії.
import matplotlib.pyplot as plt
labels = ["Коти", "Собаки", "Птахи", "Риби"]
sizes = [35, 30, 20, 15]
explode = (0.1, 0, 0, 0) # Виділяємо перший сектор (котів)
plt.pie(sizes, labels=labels, autopct="%1.1f%%", explode=explode)
plt.title("Популярність домашніх тварин")
plt.show()
Тут сектор «Коти» зміщується від центру на 10% (значення 0.1), привертаючи до себе увагу.
Зміна кольору секторів colors
Ви можете задати колір кожного сектора за допомогою параметра colors, передавши список кольорів.
import matplotlib.pyplot as plt
labels = ["Коти", "Собаки", "Птахи", "Риби"]
sizes = [35, 30, 20, 15]
colors = ["#ff9999", "#66b3ff", "#99ff99", "#ffcc99"]
plt.pie(sizes, labels=labels, autopct="%1.1f%%", colors=colors)
plt.title("Популярність домашніх тварин")
plt.show()
У цьому прикладі кожному сектору призначено свій колір для поліпшення візуального сприйняття.
Зміна початкового кута startangle
Параметр startangle задає початковий кут діаграми. Це може допомогти встановити основну категорію в певне положення, наприклад, у верхній частині діаграми.
import matplotlib.pyplot as plt
labels = ["Коти", "Собаки", "Птахи", "Риби"]
sizes = [35, 30, 20, 15]
plt.pie(sizes, labels=labels, autopct="%1.1f%%", startangle=90)
plt.title("Популярність домашніх тварин")
plt.show()
Параметр startangle=90 повертає діаграму, щоб перший сектор починався з кута 90 градусів (вертикально вгору).
3. Практичні приклади
Хоча кругові діаграми — це класичний інструмент, вони підходять не до всіх випадків. Якщо у вас багато маленьких сегментів або дані, які складно сприймати на круговій діаграмі, можливо, краще вибрати іншу візуалізацію, наприклад, бар-чарт. Завжди думайте про зрозумілість для вашого глядача.
Приклад: Аналіз ринку за сегментами
Припустимо, що у нас є дані про розподіл часток ринку між чотирма компаніями, і ми хочемо створити кругову діаграму для наочного відображення.
import matplotlib.pyplot as plt
# Дані про частки ринку
labels = ["Компанія A", "Компанія B", "Компанія C", "Компанія D"]
sizes = [40, 25, 20, 15]
colors = ["#ff9999", "#66b3ff", "#99ff99", "#ffcc99"]
explode = (0.1, 0, 0, 0) # Виділяємо сектор компанії A
plt.pie(sizes, labels=labels, autopct="%1.1f%%", startangle=140, colors=colors, explode=explode)
plt.title("Розподіл часток ринку")
plt.show()
Ця діаграма відображає частки ринку компаній і виділяє сегмент компанії A, щоб підкреслити її лідерство на ринку.
Корисні поради для побудови кругових діаграм
- Обмежуйте кількість категорій: Кругові діаграми ефективні при невеликій кількості категорій. Якщо категорій занадто багато, графік стає важким для сприйняття.
- Додавайте відсотки: Вказівка відсоткових значень у секторах допомагає швидше інтерпретувати дані.
- Використовуйте виділення (explode): Виділяйте важливі категорії, щоб акцентувати увагу на них.
- Кольорова палітра: Використовуйте кольори, які легко розрізняти, особливо якщо діаграма включає більше чотирьох категорій.
- Обмірковуйте альтернативи: Для великої кількості категорій кругову діаграму краще замінити стовпчастою діаграмою або гістограмою.
Використовуйте це маленьке дослідження з круговими діаграмами, щоб поглибити свої навички роботи з Matplotlib. Це один із кроків до того, щоб стати майстром візуалізації даних, здатним розповісти будь-яку історію за допомогою графіків і діаграм. Удачі, і нехай ваші діаграми завжди будуть апетитними на вигляд! 🍕
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ