Как легко создать круговую диаграмму в Matplotlib и добавить процентное соотношение: полное руководство?

Круговые диаграммы – мощный инструмент визуализации, позволяющий наглядно отображать относительные размеры категорий в наборе данных. В Matplotlib, популярной библиотеке Python для визуализации данных, создание круговых диаграмм с отображением процентного соотношения – задача, решаемая несколькими строками кода. Это руководство предназначено для того, чтобы предоставить читателю четкое и понятное пошаговое руководство по созданию информативных и визуально привлекательных круговых диаграмм, включающих отображение процентов.

Основы создания круговой диаграммы в Matplotlib

Установка и импорт необходимых библиотек (Matplotlib.pyplot)

Перед началом работы убедитесь, что библиотека Matplotlib установлена. Если нет, её можно установить с помощью pip:

pip install matplotlib

Затем импортируйте matplotlib.pyplot, который является основным модулем для построения графиков:

import matplotlib.pyplot as plt

Создание базовой круговой диаграммы: пример с данными

Создадим простую круговую диаграмму. Например, представим распределение расходов по категориям:

data = [25, 30, 15, 10, 20]  # Данные для диаграммы
labels = ['A', 'B', 'C', 'D', 'E'] # Подписи для каждого сегмента

plt.pie(data, labels=labels)
plt.show()

Этот код создает базовую круговую диаграмму, где каждый элемент data представлен сегментом, а labels – соответствующие подписи.

Добавление процентного соотношения с помощью autopct

Использование autopct для отображения процентов на диаграмме

Ключевой параметр для отображения процентов – autopct. Он позволяет указать формат отображения процентного соотношения непосредственно на диаграмме.

plt.pie(data, labels=labels, autopct='%1.1f%%')
plt.show()

Здесь %1.1f%% определяет формат: одно число после запятой и знак процента.

Настройка формата отображения процентов (точность, символы)

autopct принимает строку формата, аналогичную используемой в printf. Можно изменять точность и добавлять другие символы.

Реклама
  • %1.0f%% — целое число процентов.

  • %1.2f%% — два знака после запятой.

  • %.0f%% — то же, что и %1.0f%%.

Например:

plt.pie(data, labels=labels, autopct='%1.2f%%')
plt.show()

Настройка внешнего вида круговой диаграммы

Изменение цветов сегментов диаграммы

Цвета сегментов можно изменить с помощью параметра colors.

colors = ['red', 'green', 'blue', 'yellow', 'purple']
plt.pie(data, labels=labels, autopct='%1.1f%%', colors=colors)
plt.show()

Добавление и настройка меток (labels) для сегментов

Метки можно настроить, изменяя их положение, размер и цвет. Кроме того, можно скрыть метки.

plt.pie(data, labels=labels, autopct='%1.1f%%', labeldistance=1.1, textprops={'fontsize': 9})
plt.show()

labeldistance определяет расстояние меток от центра, textprops – свойства текста.

Дополнительные возможности и распространенные ошибки

Добавление легенды и заголовка для большей наглядности

Для большей наглядности добавьте легенду и заголовок.

plt.pie(data, labels=labels, autopct='%1.1f%%')
plt.legend(labels, loc='best')
plt.title('Распределение расходов')
plt.show()

Решение распространенных проблем: некорректное отображение процентов, форматирование

  • Некорректное отображение процентов: Убедитесь, что сумма данных не равна нулю. Проверьте формат autopct.

  • Форматирование: Используйте правильные строки формата для autopct, чтобы избежать ошибок.

  • Перекрытие меток: Настройте labeldistance или используйте легенду вместо меток.

Заключение и дальнейшие шаги

Вы научились создавать круговые диаграммы в Matplotlib с отображением процентного соотношения. Используйте эти знания для визуализации данных, делая отчеты и презентации более понятными и информативными. Попробуйте экспериментировать с различными параметрами и стилями для достижения наилучшего результата. Для более продвинутых техник, таких как создание анимированных круговых диаграмм или интеграция с другими библиотеками, обратитесь к документации Matplotlib и специализированным ресурсам по визуализации данных.


Добавить комментарий