Использование библиотеки Matplotlib. Как рисовать круговые графики

Этот пример показывает, как рисовать груговой график, который еще называют "пирогом".

Простейший график

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

#!/usr/bin/env python
#-*- coding: utf-8 -*-

import pylab

# Данные для построения графика
data = [20.0, 10.0, 5.0, 1.0, 0.5]

# Нарисовать круговой график
pylab.pie (data)

pylab.show()

Делаем "пирог" груглым

По умолчанию создается окно, у которого ширина и высота различны, из-за чего "пирог" получается не круглый, а овальный. Для того, чтобы "пирог" стал круглый, окно нужно создать самостоятельно с помощью функции figure(), которая принимает параметр figsize, определяющий размер окна в дюймах (разрешение также можно указывать в параметрах, но на данный момент обойдемся без этого). Также с помощью функции axes() создадим оси, занимающее все окно.

#!/usr/bin/env python
#-*- 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().

#!/usr/bin/env python
#-*- 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.

#!/usr/bin/env python
#-*- 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.

#!/usr/bin/env python
#-*- 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.

#!/usr/bin/env python
#-*- 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.
5 stars

Рейтинг 4.8/5. Всего 15 голос(а, ов)



Павел 29.04.2019 - 06:11

Опечатка!
"Делаем "пирог" груглым"

Павел 29.04.2019 - 06:11

Опечатка!
"Делаем "пирог" груглым"


Подписаться на комментарии
Автор:
Тема:
 Ваш комментарий
 
 
Введите код 795