Создаем круговую диаграмму с Python и matplotlib

Создаем круговую диаграмму с Python и matplotlib

Создаем круговую диаграмму с Python и matplotlib

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

Установка:


pip install matplotlib

Далее создадим файл c расширением .py и поместим в него код:


import matplotlib.pyplot as plt
import numpy as np

y = np.array([35, 25, 25, 15])

# для создания круговой диаграммы в pyplot используется метод pie(), которому передается набор значений, здесь y

plt.pie(y)
plt.show() 

Результат:

Создаем круговую диаграмму с Python и matplotlib

Как видно из примера, диаграмма выводит для каждого значения в, переданном массиве ([35, 25, 25, 15]), отдельный сектор.

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

Создаем круговую диаграмму с Python и matplotlib

Размер каждого сектора зависит от переданного значения в сравнении с соседними.

Для большей информативности, к диаграмме следует добавить метки.
Метка добавляется с помощью параметра labels в методе pie.
При этом labels представляет из себя массив, содержащий одно значение для каждого сектора.


import matplotlib.pyplot as plt
import numpy as np

from matplotlib import rc  # для вывода русских букв
 
font = {'family': 'Verdana', # для вывода русских букв
        'weight': 'normal'}
        
rc('font', **font)

y = np.array([35, 25, 25, 15])

# метки диаграммы
mylabels = ["Яблоки", "Бананы", "Вишня", "Финики"]

plt.pie(y, labels = mylabels)
plt.show() 


Создаем круговую диаграмму с Python и matplotlib

Таким образом, всего парой строчек кода, мы создали простую круговую диаграмму средствами языка Python и модуля matplotlib.

Источник

Читайте также