Круговая диаграмма при помощи Python и Matplotlip

В этой статье мы разберем на примере, как создается круговая диаграмма при помощи библиотеки Python matplotlib. Мы будем использовать функцию pie() из этой библиотеки.

Скачивайте книги ТОЛЬКО на русском языке у нас в телеграм канале: PythonBooksRU

Если вы не знакомы с круговыми диаграммами или matplotlib, обязательно прочитайте все руководство. Ну а если вы просто ищете быстрый ответ, я уверен, что следующий код подойдет.

Вот пример кода, который создает круговую диаграмму с 4 секторами:

import matplotlib.pyplot as plt

# Круговая диаграмма, секторы которой будут упорядочены и расположены против часовой стрелки:
labels = 'Frogs', 'Hogs', 'Dogs', 'Logs'
sizes = [15, 30, 45, 10]

fig1, ax1 = plt.subplots()
ax1.pie(sizes, labels=labels, autopct='%1.1f%%')

plt.show()

Круговые диаграммы

Круговая диаграмма – это тип диаграммы, который используется для визуализации и сравнения данных. Она показывает пропорции или процентное соотношение различных категорий в наборе данных, разделяя круг на кусочки разного размера.

Каждый сектор круговой диаграммы представляет категорию. При этом размер сектора отражает долю или процент данных, относящихся к этой категории.

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

Например, круговая диаграмма может быть использована для отображения доли рынка различных продуктов компании, распределения различных групп населения по доходам или структуры расходов домохозяйства.

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

Построение круговой диаграммы с помощью matplotlib

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

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

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

В целом, matplotlib – это мощный и гибкий инструмент для визуализации данных в Python, и это хороший выбор для создания широкого спектра графиков и визуализации данных.

Установка matplotlib

Чтобы установить библиотеку matplotlib на свой компьютер с помощью командной строки, необходимо воспользоваться менеджером пакетов pip.

pip входит в состав Python, поэтому если у вас установлен Python, то pip тоже должен быть установлен. Если у вас старая версия Python, вам может понадобиться установить pip отдельно. Обязательно следуйте этому руководству.

Чтобы установить matplotlib с помощью pip, откройте командную строку или окно терминала и введите следующую команду:

pip install matplotlib

Также, если вы используете Python 3, не забудьте заменить pip на pip3 в команде.

Построение круговых диаграмм с помощью matplotlib

Для построения круговой диаграммы в Python можно использовать библиотеку matplotlib и ее функцию pie().

Например:

import matplotlib.pyplot as plt

# Круговая диаграмма, в которой секторы будут упорядочены и расположены против часовой стрелки:
labels = 'Frogs', 'Hogs', 'Dogs', 'Logs'
sizes = [15, 30, 45, 10]

fig1, ax1 = plt.subplots()
ax1.pie(sizes, labels=labels, autopct='%1.1f%%')

plt.show()

Этот фрагмент кода создает круговую диаграмму с заданными метками и размерами и отображает на диаграмме процентное значение для каждого сектора.

Круговая диаграмма, построенная при помощи кода на Python

Вы можете дополнительно настроить график, задав различные параметры для функции pie(), такие как начальный угол, цвета секторов и другие.

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

Для настройки круговой диаграммы можно использовать различные дополнительные аргументы функции pie() из библиотеки matplotlib.

Вот некоторые из параметров настройки, которые вы можете указать:

  • startangle. Этот аргумент задает начальный угол круговой диаграммы в градусах. Например, при установке startangle=90 круговая диаграмма будет повернута на 90 градусов, так что сектор в верхней части будет повернут вправо на 90 градусов.
  • colors. Этот аргумент задает цвета, которые будут использоваться для секторов круговой диаграммы. Вы можете указать один цвет, последовательность цветов или карту цветов. Например, параметр colors=['r', 'g', 'b'] будет использовать для срезов красный, зеленый и синий цвета соответственно.
  • explode. Этот аргумент указывает, какие секторы “взрывать” (перемещать от начала координат) из круговой диаграммы. Вы можете указать последовательность чисел, где каждое число определяет расстояние, на которое нужно отодвинуть соответствующий сектор от центра круговой диаграммы. Например, установка explode=[0, 0, 0.1, 0] переместит третий сектор (соответствующий метке “Dogs”) на 10% от радиуса круга.

Вот пример, который настраивает круговую диаграмму:

import matplotlib.pyplot as plt

# Круговая диаграмма, где секторы упорядочены и расположены против часовой стрелки:
labels = 'Frogs', 'Hogs', 'Dogs', 'Logs'
sizes = [15, 30, 45, 10]

# Установить начальный угол на 90 и задать цвета секторов (красный, зеленый и синий
fig1, ax1 = plt.subplots()

# Отодвинуть секторы от центра круга
explode = [0.1, 0.2, 0.3, 0.25]
ax1.pie(sizes, labels=labels, autopct='%1.1f%%', startangle=90, colors=['r', 'g', 'b', 'y'], explode=explode)

plt.show()

Вывод:

Круговая диаграмма, построенная при помощи кода на Python. Секторы  удалены от центра.

Заключение

Сегодня вы узнали, как создать круговую диаграмму в Python с помощью matplotlib.

На заметку: matplotlib – это популярная библиотека Python. С ее помощью можно создавать графики и диаграммы. Она поставляется с полезными инструментами для исследователей данных. Чтобы использовать matplotlib, вам нужно установить ее, например, с помощью pip. Затем вы можете использовать функцию pie() для создания круговой диаграммы для заданного набора меток и данных.

Спасибо за внимание и успешного кодинга!

Перевод статьи Artturi Jalli “How to Plot a Pie Chart in Python: Step-by-Step Guide (Matplotlip)”