Рубрики
Без рубрики

Seaborn Bar Plot – Учебник и примеры

В этом уроке мы рассмотрим, как построить барплот с помощью Seaborn и Python. Мы рассмотрим основные графики баров, а также их настройку, как группировать и заказывать бары и т. Д.

Автор оригинала: David Landup.

Seaborn Bar Plot – Учебник и примеры

Вступление

Seaborn является одной из наиболее широко используемых библиотек визуализации данных в Python, как расширение к Matplotlib . Он предлагает простой, интуитивно понятный, но легко настраиваемый API для визуализации данных.

В этом уроке мы рассмотрим, как построить БарПлот в Seaborn .

Гистограммы отображают числовые величины на одной оси и категориальные переменные на другой, позволяя вам увидеть, сколько вхождений существует для различных категорий.

Гистограммы можно использовать как для визуализации временных рядов, так и просто категориальных данных.

Сюжет БарПлот в Сиборне

Построение гистограммы в Seaborn так же просто, как вызов функции barplot() в экземпляре sns и передача категориальных и непрерывных переменных, которые мы хотели бы визуализировать:

import matplotlib.pyplot as plt
import seaborn as sns

sns.set_style('darkgrid')

x = ['A', 'B', 'C']
y = [1, 5, 3]

sns.barplot(x, y)
plt.show()

Здесь у нас есть несколько категориальных переменных в списке – A , B и C . У нас также есть пара непрерывных переменных в другом списке – 1 , 5 и 3 . Затем связь между ними визуализируется в виде гистограммы, передавая эти два списка в sns.barplot() .

Это приводит к чистой и простой гистограмме:

базовый барный участок в Сиборне

Однако чаще всего вы будете работать с наборами данных, которые содержат гораздо больше данных, чем это. Иногда к этим данным применяются операции, такие как ранжирование или подсчет определенных вхождений.

Всякий раз, когда вы имеете дело со средствами данных, у вас будет некоторое заполнение ошибок, которое может возникнуть из-за этого. К счастью, Seaborn покрывает нас и применяет бары ошибок для нас автоматически, так как по умолчанию вычисляет среднее значение данных, которые мы предоставляем.

Давайте импортируем классику Titanic Dataset и визуализируйте гистограмму с данными оттуда:

import matplotlib.pyplot as plt
import seaborn as sns

# Set Seaborn style
sns.set_style('darkgrid')
# Import Data
titanic_dataset = sns.load_dataset("titanic")

# Construct plot
sns.barplot(x = "sex", y = "survived", data = titanic_dataset)
plt.show()

На этот раз мы назначили x и y столбцам sex и survived набора данных вместо жестко закодированных списков.

Если мы напечатаем заголовок набора данных:

print(titanic_dataset.head())

Нас встречают с:

   survived  pclass     sex   age  sibsp  parch     fare  ...
0         0       3    male  22.0      1      0   7.2500  ...
1         1       1  female  38.0      1      0  71.2833  ...
2         1       3  female  26.0      0      0   7.9250  ...
3         1       1  female  35.0      1      0  53.1000  ...
4         0       3    male  35.0      0      0   8.0500  ...

[5 rows x 15 columns]

Убедитесь, что имена этих функций совпадают при назначении переменных x и y .

Наконец, мы используем аргумент data и передаем набор данных, с которым мы работаем и из которого извлекаются объекты. Это приводит к:

график гистограммы из набора данных в Сиборне

Постройте горизонтальный Барный участок в Сиборне

Чтобы построить гистограмму горизонтально, а не вертикально, мы можем просто поменять местами переменные x и y .

Это приведет к тому, что категориальная переменная будет нанесена на ось Y, что приведет к горизонтальному графику:

import matplotlib.pyplot as plt
import seaborn as sns

x = ['A', 'B', 'C']
y = [1, 5, 3]

sns.barplot(y, x)
plt.show()

Это приводит к:

участок турник участок сиборн

Возвращаясь к примеру с “Титаником”, это делается примерно так же:

import matplotlib.pyplot as plt
import seaborn as sns

titanic_dataset = sns.load_dataset("titanic")

sns.barplot(x = "survived", y = "class", data = titanic_dataset)
plt.show()

Что приводит к:

график горизонтальная полоса график набора данных seaborn

Изменение цвета гистограммы в Seaborn

Изменить цвет полос довольно просто. Аргумент color принимает цвет Matplotlib и применяет его ко всем элементам.

Давайте изменим их на синий :

import matplotlib.pyplot as plt
import seaborn as sns

x = ['A', 'B', 'C']
y = [1, 5, 3]

sns.barplot(x, y, color='blue')
plt.show()

Это приводит к:

изменение цвета гистограммы в seaborn

Или, еще лучше, вы можете установить аргумент palette , который принимает большое разнообразие палитр . Довольно распространенный из них-это его :

import matplotlib.pyplot as plt
import seaborn as sns

titanic_dataset = sns.load_dataset("titanic")

sns.barplot(x = "embark_town", y = "survived", palette = 'hls', data = titanic_dataset)
plt.show()

Это приводит к:

установите цветовую палитру в seaborn bar plot

Участок Сгруппированный Барный участок в Сиборне

Группировка баров на графиках-обычная операция. Предположим, вы хотите сравнить некоторые общие данные, например, выживаемость пассажиров, но хотели бы сгруппировать их по некоторым критериям.

Мы могли бы визуализировать отношения выживших пассажиров, разделенных на классы (первый, второй и третий), но также учитывать, из какого города они отправились.

Это довольно много информации в сюжете, и все это можно легко поместить в простой БарПлот.

Чтобы сгруппировать бары вместе, мы используем аргумент hue . Технически, как следует из названия, аргумент hue говорит Сиборну, как раскрасить полосы, но в процессе раскрашивания он группирует вместе соответствующие данные.

Давайте рассмотрим пример, который мы только что обсудили:

import matplotlib.pyplot as plt
import seaborn as sns

titanic_dataset = sns.load_dataset("titanic")

sns.barplot(x = "class", y = "survived", hue = "embark_town", data = titanic_dataset)
plt.show()

Это приводит к:

участок сгруппированный барный участок в Сиборне

Теперь полосы ошибок в данных Queenstown довольно велики. Это указывает на то, что данные о пассажирах, которые выжили и отправились из Квинстауна сильно различаются для первого и второго класса.

Заказ сгруппированных баров на барной площадке с Seaborn

Вы можете изменить порядок баров из порядка по умолчанию (независимо от того, что Сиборн считает наиболее разумным) в то, что вы хотели бы выделить или исследовать.

Это делается с помощью аргумента order , который принимает список значений и порядок, в котором вы хотите их поместить.

Например, до сих пор он упорядочивал классы с первого по третий. А что, если мы хотим сделать все наоборот?

import matplotlib.pyplot as plt
import seaborn as sns

titanic_dataset = sns.load_dataset("titanic")

sns.barplot(x = "class", y = "survived", hue = "embark_town", order = ["Third", "Second", "First"], data = titanic_dataset)
plt.show()

Запуск этого кода приводит к:

заказ сгруппированных барных участков в Сиборне

Изменение доверительного интервала на графике бара Seaborn

Вы также можете легко возиться с доверительным интервалом, установив аргумент ci .

Например, вы можете отключить его, установив значение None , или использовать стандартное отклонение вместо среднего значения , установив sd , или даже поставить размер колпачка на панели ошибок в эстетических целях, установив capsize .

Давайте немного поиграем с атрибутом доверительного интервала:

import matplotlib.pyplot as plt
import seaborn as sns

titanic_dataset = sns.load_dataset("titanic")

sns.barplot(x = "class", y = "survived", hue = "embark_town", ci = None, data = titanic_dataset)
plt.show()

Теперь это удаляет наши полосы ошибок из предыдущих:

изменение доверительного интервала баров ошибок в seaborn

Или мы могли бы использовать стандартное отклонение для баров ошибок и установить размер крышки:

import matplotlib.pyplot as plt
import seaborn as sns

titanic_dataset = sns.load_dataset("titanic")

sns.barplot(x = "class", y = "survived", hue = "who", ci = "sd", capsize = 0.1, data = titanic_dataset)
plt.show()
удалить бары ошибок из графика баров seaborn

Вывод

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

Мы рассмотрели, как изменить цвета баров, сгруппировать их вместе, упорядочить и изменить доверительный интервал.

Если вы заинтересованы в визуализации данных и не знаете, с чего начать, обязательно ознакомьтесь с нашей связкой книг on :

Визуализация данных в Python с Matplotlib и Pandas – это книга, предназначенная для того, чтобы познакомить абсолютных новичков с Pandas и Matplotlib, обладающих базовыми знаниями Python, и позволить им создать прочную основу для продвинутой работы с библиотеками тезисов- от простых сюжетов до анимированных 3D-сюжетов с интерактивными кнопками.

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

Визуализация данных в Python , книга для начинающих и промежуточных разработчиков Python, проведет вас через простые манипуляции с данными с Пандами, охватит основные библиотеки построения графиков, такие как Matplotlib и Seaborn, и покажет вам, как использовать преимущества декларативных и экспериментальных библиотек, таких как Altair. Более конкретно, в течение 11 глав эта книга охватывает 9 библиотек Python: Pandas, Matplotlib, Seaborn, Bokeh, Altair, Plotly, GGPlot, GeoPandas и VisPy.

Он служит уникальным практическим руководством по визуализации данных, в изобилии инструментов, которые вы могли бы использовать в своей карьере.