Создаем круговую диаграмму с Python и matplotlib. Часть 2
Как известно, людям всегда больше нравится интерпретировать картинки, чем текст. Это подтверждается биологическим фактом, что 90% фактов, поступающих в мозг, имеют визуальную форму.
Когда дело доходит до данных, визуализация является ключевой концепцией. Мы понимаем больше, видя визуальные эффекты(графики, диаграммы и т.д.), А не просто данные в виде необработанного текста. Визуализация с помощью изображений заставляет наш мозг обрабатывать быстрее и выглядит приятнее, чем просто большой объем текста.
В предыдущей статье мы начали рассматривать круговую диаграмму, созданную посредством языка Python и библиотеки Matplotlib. Конечно же, это только базовые функции, но и с их помощью можно создать достаточно информативную, для визуального восприятия, презентацию. В сегодняшней статье мы расширим наши предыдущие примеры дополнительными возможностями.
Используем пример из прошлой статьи:
import matplotlib.pyplot as plt
import numpy as np
from matplotlib import rc # для вывода русских букв
y = np.array([35, 25, 25, 15])
# метки диаграммы
mylabels = [«Яблоки», «Бананы», «Вишня», «Финики»]
plt.pie(y, labels = mylabels)
plt.show()
Имея подобный результат, может быть, вы захотите, чтобы один из клиньев выделялся? Параметр explode позволяет вам это сделать.
Параметр разброса — explode, если он указан, а нет None, должен быть массивом с одним значением для каждого клина.
Каждое значение показывает, как далеко от центра отображается каждый клин:
y = np.array([35, 25, 25, 15])
myexp = [0.2, 0, 0, 0]
# метки диаграммы
mylabels = [«Яблоки», «Бананы», «Вишня», «Финики»]
plt.pie(y, labels = mylabels, explode = myexp)
plt.show()

Добавьте тень на круговую диаграмму, установив для параметра shadow значение True:
import matplotlib.pyplot as plt
import numpy as np
.
.
plt.pie(y, labels = mylabels, explode = myexp, shadow = True)
plt.show()

Также, можно поменять цвет каждого клина. Для этого необходимо создать массив значений цветов и предать его в метод pie.
mycolors = [«green», «yellow», «hotpink», «brown»]
.
plt.pie(y, labels = mylabels, explode = myexp, shadow = True, colors = mycolors)
plt.show()

Чтобы добавить список пояснений для каждого сектора, используйте функцию legend():
.
plt.pie(y, labels = mylabels, explode = myexp, shadow = True, colors = mycolors)
plt.legend()
plt.show()

А чтобы добавить заголовок к легенде используем параметр title метода legend.
.
.
plt.pie(y, labels = mylabels, explode = myexp, shadow = True, colors = mycolors)
plt.legend(title = «Виды фруктов:»)
plt.show()

Вот таким нехитрым способом можно создать полноценную презентацию из графиков и диаграмм, используя Python и Matplotlib.

![]()
Создано 27.07.2021 10:00:24
Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!
Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.
Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления
Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.
Порекомендуйте эту статью друзьям:
Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):
- Кнопка:
Она выглядит вот так: - Текстовая ссылка:
Она выглядит вот так: Как создать свой сайт - BB-код ссылки для форумов (например, можете поставить её в подписи):
Комментарии ( 0 ):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.
Copyright © 2010-2024 Русаков Михаил Юрьевич. Все права защищены.
Как построить круговую диаграмму в питоне



Скачай курс
в приложении
Перейти в приложение
Открыть мобильную версию сайта
© 2013 — 2023. Stepik
Наши условия использования и конфиденциальности

Public user contributions licensed under cc-wiki license with attribution required
Как создать круговую диаграмму из Pandas DataFrame

Вы можете использовать следующий базовый синтаксис для создания круговой диаграммы из кадра данных pandas:
df.groupby(['group_column']). sum ().plot(kind='pie', y='value_column')
В следующих примерах показано, как использовать этот синтаксис на практике.
Пример 1: создание базовой круговой диаграммы
Предположим, у нас есть следующие две Pandas DataFrame:
import pandas as pd #create DataFrame df = pd.DataFrame() #view DataFrame print(df) team points 0 A 25 1 A 12 2 B 25 3 B 14 4 B 19 5 B 53 6 C 25 7 C 29
Мы можем использовать следующий синтаксис, чтобы создать круговую диаграмму, которая отображает часть общего количества очков, набранных каждой командой:
df.groupby(['team']). sum ().plot(kind='pie', y='points')

Пример 2. Создание пользовательской круговой диаграммы
Мы можем использовать следующие аргументы для настройки внешнего вида круговой диаграммы:
- autopct : Отображать проценты на круговой диаграмме.
- цвета : Укажите цвета для использования в круговой диаграмме.
- title : добавить заголовок к круговой диаграмме
Следующий код показывает, как использовать эти аргументы на практике:
df.groupby(['team']). sum ().plot(kind='pie', y='points', autopct='%1.0f%%', colors = ['red', 'pink', 'steelblue'], title='Points Scored by Team'))

Обратите внимание, что цвета будут назначены категориям, как они отображаются в DataFrame.
Например, команда «А» появляется первой в DataFrame, поэтому она получила «красный» цвет на круговой диаграмме.
Дополнительные ресурсы
В следующих руководствах объясняется, как создавать другие распространенные графики с использованием кадра данных pandas:
Как создать круговую диаграмму в Seaborn

В библиотеке визуализации данных Python Seaborn нет функции по умолчанию для создания круговых диаграмм, но вы можете использовать следующий синтаксис в Matplotlib для создания круговой диаграммы и добавления цветовой палитры Seaborn:
import matplotlib.pyplot as plt import seaborn as sns #define data data = [value1, value2, value3, . ] labels = ['label1', 'label2', 'label3', . ] #define Seaborn color palette to use colors = sns.color_palette('pastel')[ 0:5 ] #create pie chart plt.pie(data, labels = labels, colors = colors, autopct='%.0f%%') plt.show()
Полный список цветовых палитр см. в документации Seaborn.
В следующих примерах показано, как использовать этот синтаксис на практике.
Пример 1. Круговая диаграмма с цветовой палитрой Pastel Seaborn
В следующем коде показано, как создать круговую диаграмму с использованием « пастельной » цветовой палитры Seaborn:
import matplotlib.pyplot as plt import seaborn as sns #define data data = [15, 25, 25, 30, 5] labels = ['Group 1', 'Group 2', 'Group 3', 'Group 4', 'Group 5'] #define Seaborn color palette to use colors = sns.color_palette('pastel')[ 0:5 ] #create pie chart plt.pie(data, labels = labels, colors = colors, autopct='%.0f%%') plt.show()

Пример 2. Круговая диаграмма с цветовой палитрой Bright Seaborn
В следующем коде показано, как создать круговую диаграмму с использованием « яркой » цветовой палитры Seaborn:
import matplotlib.pyplot as plt import seaborn as sns #define data data = [15, 25, 25, 30, 5] labels = ['Group 1', 'Group 2', 'Group 3', 'Group 4', 'Group 5'] #define Seaborn color palette to use colors = sns.color_palette('bright')[ 0:5 ] #create pie chart plt.pie(data, labels = labels, colors = colors, autopct='%.0f%%') plt.show()

Эти два примера иллюстрируют, как создать круговую диаграмму с двумя разными цветовыми палитрами Seaborn.
Тем не менее, есть еще много стилей, которые вы могли бы использовать. Полный список цветовых палитр см. в онлайн-документации .