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. Это один из шагов к тому, чтобы стать мастером визуализации данных, способным рассказать любую историю с помощью графиков и диаграмм. Удачи и пусть ваши диаграммы всегда будут вкусными на вид! 🍕
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ