Круговые диаграммы Matplotlib
Создание круговых диаграмм
С Pyplot вы можете использовать pie()
функцию для рисования круговых диаграмм:
Пример
Простая круговая диаграмма:
import matplotlib.pyplot as plt
import numpy as np
y = np.array([35,
25, 25, 15])
plt.pie(y)
plt.show()
Результат:
Как видите, круговая диаграмма рисует одну часть (называемую клином) для каждого значения в массиве (в данном случае [35, 25, 25, 15]).
По умолчанию построение первого клина начинается с оси x и движется против часовой стрелки :
Примечание . Размер каждого клина определяется путем сравнения значения со всеми другими значениями по следующей формуле:
Значение, деленное на сумму всех значений: x/sum(x)
Этикетки
Добавьте метки к круговой диаграмме с label
параметром.
Параметр label
должен быть массивом с одной меткой для каждого сегмента:
Пример
Простая круговая диаграмма:
import matplotlib.pyplot as plt
import numpy as np
y = np.array([35,
25, 25, 15])
mylabels = ["Apples", "Bananas", "Cherries", "Dates"]
plt.pie(y,
labels = mylabels)
plt.show()
Результат:
Начальный угол
Как уже упоминалось, начальный угол по умолчанию находится на оси x, но вы можете изменить начальный угол, указав
startangle
параметр.
Параметр startangle
определяется углом в градусах, угол по умолчанию равен 0:
Пример
Начните первый клин под углом 90 градусов:
import matplotlib.pyplot as plt
import numpy as np
y = np.array([35,
25, 25, 15])
mylabels = ["Apples", "Bananas", "Cherries", "Dates"]
plt.pie(y,
labels = mylabels, startangle = 90)
plt.show()
Результат:
Взорваться
Может быть, вы хотите, чтобы один из клиньев выделялся? Параметр
explode
позволяет это сделать.
Параметр explode
, если он указан, а не None
, должен быть массивом с одним значением для каждого сегмента.
Каждое значение представляет, насколько далеко от центра отображается каждый клин:
Пример
Вытащите клин «Яблоки» на 0,2 из центра пирога:
import matplotlib.pyplot as plt
import numpy as np
y = np.array([35,
25, 25, 15])
mylabels = ["Apples", "Bananas", "Cherries", "Dates"]
myexplode = [0.2, 0, 0, 0]
plt.pie(y,
labels = mylabels, explode = myexplode)
plt.show()
Результат:
Тень
Добавьте тень к круговой диаграмме, установив для
shadows
параметра значение True
:
Пример
Добавьте тень:
import matplotlib.pyplot as plt
import numpy as np
y = np.array([35,
25, 25, 15])
mylabels = ["Apples", "Bananas", "Cherries", "Dates"]
myexplode = [0.2, 0, 0, 0]
plt.pie(y,
labels = mylabels, explode = myexplode, shadow = True)
plt.show()
Результат:
Цвета
Вы можете установить цвет каждого клина с помощью colors
параметра.
Параметр colors
, если он указан, должен быть массивом с одним значением для каждого сегмента:
Пример
Укажите новый цвет для каждого сегмента:
import matplotlib.pyplot as plt
import numpy as np
y = np.array([35,
25, 25, 15])
mylabels = ["Apples", "Bananas", "Cherries", "Dates"]
mycolors = ["black", "hotpink", "b", "#4CAF50"]
plt.pie(y, labels =
mylabels, colors = mycolors)
plt.show()
Результат:
Вы можете использовать шестнадцатеричные значения цветов , любое из 140 поддерживаемых названий цветов или одно из следующих сокращений:
'r'
- Красный
'g'
- Зеленый
'b'
- Синий
'c'
- Голубой
'm'
- Пурпурный
'y'
- Желтый
'k'
- Черный
'w'
- Белый
Легенда
Чтобы добавить список объяснений для каждого клина, используйте legend()
функцию:
Пример
Добавьте легенду:
import matplotlib.pyplot as plt
import numpy as np
y = np.array([35,
25, 25, 15])
mylabels = ["Apples", "Bananas", "Cherries", "Dates"]
plt.pie(y, labels = mylabels)
plt.legend()
plt.show()
Результат:
Легенда с заголовком
Чтобы добавить заголовок в легенду, добавьте title
параметр в legend
функцию.
Пример
Добавьте легенду с заголовком:
import matplotlib.pyplot as plt
import numpy as np
y = np.array([35,
25, 25, 15])
mylabels = ["Apples", "Bananas", "Cherries", "Dates"]
plt.pie(y, labels = mylabels)
plt.legend(title = "Four Fruits:")
plt.show()
Результат: