Использование библиотеки Matplotlib. Как рисовать круговые графики
Этот пример показывает, как рисовать груговой график, который еще называют "пирогом".
Простейший график
Для рисования кругового графика используется функция pie() из модуля pylab. В простейшем случае в эту функцию достаточно передать всего лишь данные, которые определяют площадь соответствующего сектора.

#-*- coding: utf-8 -*-
import pylab
# Данные для построения графика
data = [20.0, 10.0, 5.0, 1.0, 0.5]
# Нарисовать круговой график
pylab.pie (data)
pylab.show()
Делаем "пирог" груглым
По умолчанию создается окно, у которого ширина и высота различны, из-за чего "пирог" получается не круглый, а овальный. Для того, чтобы "пирог" стал круглый, окно нужно создать самостоятельно с помощью функции figure(), которая принимает параметр figsize, определяющий размер окна в дюймах (разрешение также можно указывать в параметрах, но на данный момент обойдемся без этого). Также с помощью функции axes() создадим оси, занимающее все окно.

#-*- coding: utf-8 -*-
import pylab
# Данные для построения графика
data = [20.0, 10.0, 5.0, 1.0, 0.5]
# Создать новое окно (фигуру) с одинаковыми размерами сторон (6 x 6 дюйма)
pylab.figure(figsize=(6, 6) )
# Установим размеры осей по горизонтали и вертикали тоже одинаковыми
pylab.axes([0.0, 0.0, 1.0, 1.0])
# И снова нарисуем график
pylab.pie (data)
pylab.show()
Добавляем метки
Для того, чтобы добавить текстовые метки к секторам, достаточно передать их список в качестве параметра labels функции pie().

#-*- coding: utf-8 -*-
import pylab
# Данные для построения графика
data = [20.0, 10.0, 5.0, 1.0, 0.5]
# Метки для секторов графика
labels = ["data1", "data2", "data3", "data4", "data5"]
# Создать новое окно (фигуру) с одинаковыми размерами сторон (6 x 6 дюйма)
pylab.figure(figsize=(6, 6) )
# Установим размеры осей по горизонтали и вертикали тоже одинаковыми
pylab.axes([0.05, 0.05, 0.9, 0.9])
# И снова нарисуем график
pylab.pie (data, labels=labels)
pylab.show()
Изменяем цвета секторов
Цвета секторов задаются с помощью параметра colors функции pie(). Цвета можно задавать различными способами, которые были описаны в статье Рисование трехмерных графиков в Python с помощью Pylab/MatPlotLib.

#-*- coding: utf-8 -*-
import pylab
# Данные для построения графика
data = [20.0, 10.0, 5.0, 1.0, 0.5]
# Метки для секторов графика
labels = ["data1", "data2", "data3", "data4", "data5"]
# Цвета для секторов
colors = ["g", "r", "#FF00BB", "0.5", "y"]
# Создать новое окно (фигуру) с одинаковыми размерами сторон (6 x 6 дюйма)
pylab.figure(figsize=(6, 6) )
# Установим размеры осей по горизонтали и вертикали тоже одинаковыми
pylab.axes([0.05, 0.05, 0.9, 0.9])
# И снова нарисуем график
pylab.pie (data, colors=colors, labels=labels)
pylab.show()
Разделяем сектора
Часто при отображении круговых графиков сектора немного "выдвигают" из центра. Для того, чтобы получить такой эффект, используется параметр explode.

#-*- coding: utf-8 -*-
import pylab
# Данные для построения графика
data = [20.0, 10.0, 5.0, 1.0, 0.5]
# Метки для секторов графика
labels = ["data1", "data2", "data3", "data4", "data5"]
# Цвета для секторов
colors = ["g", "r", "#FF00BB", "0.5", "y"]
# Уровени вывижения секторов
explode = [0.02, 0.05, 0.08, 0.08, 0.05]
# Создать новое окно (фигуру) с одинаковыми размерами сторон (6 x 6 дюйма)
pylab.figure(figsize=(6, 6) )
# Установим размеры осей по горизонтали и вертикали тоже одинаковыми
pylab.axes([0.1, 0.1, 0.8, 0.8])
# И снова нарисуем график
pylab.pie (data, explode=explode, colors=colors, labels=labels)
pylab.show()
Добавляем тень
Из эстетических соображений к графику можно добавить тень. Для этого в функцию pie() достаточно передать значение shadow с параметром True.

#-*- coding: utf-8 -*-
import pylab
# Данные для построения графика
data = [20.0, 10.0, 5.0, 1.0, 0.5]
# Метки для секторов графика
labels = ["data1", "data2", "data3", "data4", "data5"]
# Цвета для секторов
colors = ["g", "r", "#FF00BB", "0.5", "y"]
explode = [0.02, 0.05, 0.08, 0.08, 0.05]
# Создать новое окно (фигуру) с одинаковыми размерами сторон (6 x 6 дюйма)
pylab.figure(figsize=(6, 6) )
# Установим размеры осей по горизонтали и вертикали тоже одинаковыми
pylab.axes([0.1, 0.1, 0.8, 0.8])
# И снова нарисуем график
pylab.pie (data, explode=explode, colors=colors, labels=labels, shadow=True)
pylab.show()
Кроме перечисленных параметров, у функции pie() имеются еще параметры, влияющие на внешний вид, про них вы можете узнать из документации
Вы можете подписаться на новости сайта через RSS, Группу Вконтакте или Канал в Telegram.