Это руководство предоставляет исчерпывающее описание создания различных круговых диаграмм с помощью Matplotlib, мощной библиотеки визуализации данных Python. Мы рассмотрим основные концепции и углубимся в расширенные методы, такие как настройка направления диаграммы и выделение отдельных сегментов данных.
Содержание
- Создание базовой круговой диаграммы
- Создание круговой диаграммы по часовой стрелке
- Выделение сегментов с помощью функции explode
- Настройка внешнего вида круговой диаграммы
Создание базовой круговой диаграммы
Начнем с построения простой круговой диаграммы. Мы будем использовать примерные данные, представляющие распределение различных видов фруктов в корзине.
import matplotlib.pyplot as plt
# Примерные данные
labels = 'Яблоки', 'Бананы', 'Вишни', 'Финики'
sizes = [15, 30, 45, 10]
# Создание круговой диаграммы
plt.pie(sizes, labels=labels, autopct='%1.1f%%', startangle=140)
# Обеспечение круглой формы диаграммы
plt.axis('equal')
# Добавление заголовка
plt.title('Распределение фруктов')
# Отображение диаграммы
plt.show()
Этот фрагмент кода сначала импортирует модуль matplotlib.pyplot
. Затем он определяет метки и соответствующие размеры для каждого сегмента круговой диаграммы. Функция plt.pie()
генерирует диаграмму, автоматически вычисляя и отображая проценты (autopct
) и начиная первый сегмент под углом 140 градусов. plt.axis('equal')
гарантирует, что диаграмма будет идеальным кругом. Наконец, plt.title()
добавляет заголовок, а plt.show()
отображает результат.
Создание круговой диаграммы по часовой стрелке
Чтобы создать круговую диаграмму, которая строится по часовой стрелке, мы просто изменяем параметр startangle
в функции plt.pie()
. Значение startangle
, равное 0 градусам, расположит первый сегмент в самой правой точке, а последующие сегменты будут следовать по часовой стрелке.
import matplotlib.pyplot as plt
labels = 'Яблоки', 'Бананы', 'Вишни', 'Финики'
sizes = [15, 30, 45, 10]
plt.pie(sizes, labels=labels, autopct='%1.1f%%', startangle=0)
plt.axis('equal')
plt.title('Распределение фруктов (по часовой стрелке)')
plt.show()
Выделение сегментов с помощью функции explode
Функция «explode» позволяет подчеркнуть определенные сегменты, слегка отделяя их от остальной части круговой диаграммы. Это делается путем предоставления списка параметру explode
. Длина списка должна совпадать с длиной списка sizes
, причем каждый элемент представляет расстояние смещения для соответствующего сегмента. Значение 0 указывает на отсутствие смещения.
import matplotlib.pyplot as plt
labels = 'Яблоки', 'Бананы', 'Вишни', 'Финики'
sizes = [15, 30, 45, 10]
explode = (0, 0.1, 0, 0) # Выделить второй сегмент ('Бананы')
plt.pie(sizes, explode=explode, labels=labels, autopct='%1.1f%%', startangle=90)
plt.axis('equal')
plt.title('Распределение фруктов (выделенный сегмент)')
plt.show()
В этом примере второй сегмент (‘Бананы’) выделен, установив его значение explode равным 0.1. Экспериментируйте с различными значениями explode, чтобы добиться желаемого визуального эффекта. Убедитесь, что кортеж explode
соответствует количеству сегментов в вашей круговой диаграмме.
Настройка внешнего вида круговой диаграммы
Matplotlib предлагает широкие возможности для настройки круговых диаграмм. Вы можете настроить цвета, добавить легенды, изменить размер шрифта и многое другое. Ознакомьтесь с документацией Matplotlib для получения полного списка параметров настройки.