Перейти к содержимому

Как построить круговую диаграмму в питоне

  • автор:

Создаем круговую диаграмму с 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.

    Если Вы не хотите пропустить новые материалы на сайте,
    то Вы можете подписаться на обновления: Подписаться на обновления

    Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

    Порекомендуйте эту статью друзьям:

    Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

    1. Кнопка:
      Она выглядит вот так:
    2. Текстовая ссылка:
      Она выглядит вот так: Как создать свой сайт
    3. BB-код ссылки для форумов (например, можете поставить её в подписи):

    Комментарии ( 0 ):

    Для добавления комментариев надо войти в систему.
    Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.

    Copyright © 2010-2024 Русаков Михаил Юрьевич. Все права защищены.

    Как построить круговую диаграмму в питоне

    Скачай курс
    в приложении

    Перейти в приложение
    Открыть мобильную версию сайта

    © 2013 — 2023. Stepik

    Наши условия использования и конфиденциальности

    Get it on Google Play

    Public user contributions licensed under cc-wiki license with attribution required

    Как создать круговую диаграмму из Pandas DataFrame

    Как создать круговую диаграмму из 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

    Как создать круговую диаграмму в 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.

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

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *