График Seaborn Bar - Учебное пособие и примеры

Введение Seaborn - одна из наиболее широко используемых библиотек визуализации данных в Python как расширение Matplotlib. Он предлагает простой, интуитивно понятный, но настраиваемый API для визуализации данных. В этом уроке мы рассмотрим, как построить гистограмму в Seaborn. Гистограммы отображают числовые величины на одной оси и категориальные переменные - на другой, что позволяет увидеть, сколько вхождений существует для разных категорий. > Гистограммы можно использовать для визуализации времени

Вступление

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() .

В результате получается четкая и простая гистограмма:

основной барный участок вСиборне{.ezlazyload}

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

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

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

 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 и передаем набор данных, с которым мы работаем и из которого извлекаются функции. Это приводит к:

построить гистограмму из набора данных вseaborn{.ezlazyload}

Постройте график горизонтальной полосы в Сиборне

Чтобы построить гистограмму по горизонтали, а не по вертикали, мы можем просто поменять местами переменные 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() 

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

участок горизонтальная полоса участокseaborn{.ezlazyload}

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

 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{.ezlazyload}

Изменить цвет диаграммы в Seaborn

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

Изменим их на blue :

 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{.ezlazyload}

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

 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() 

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

установить цветовую палитру на графике морскихгистограмм{.ezlazyload}

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

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

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

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

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

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

 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() 

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

заговор сгруппированный бар заговор вморе{.ezlazyload}

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

Заказ сгруппированных стержней на гистограмме с помощью 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{.ezlazyload}

Изменить доверительный интервал на гистограмме 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() 

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

изменить доверительный интервал планок погрешностей в морскомсудоходстве{.ezlazyload}

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

 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() 

удалить планки погрешностей из графика морскихгистограмм{.ezlazyload}

Заключение

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

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

Если вас интересует визуализация данных и вы не знаете, с чего начать, обязательно ознакомьтесь с нашим комплектом книг по визуализации данных в Python{.ebook-link} :

::: {style=“border: 1px solid #ebebeb;padding: 15px;"} {.ebook-link}

Визуализация данных в Python

::: {.row} ::: {.col-md-4 .col-xs-12} {.ezlazyload .img-responsive .center-block} :::

::: {.col-md-8 .col-xs-12 .my-auto} Станьте опасными с визуализацией данных

✅ 30-дневная гарантия возврата денег без вопросов

✅ от начального до продвинутого

✅ Регулярно обновляется бесплатно (последнее обновление в апреле 2021 г.)

✅ Обновлено с бонусными ресурсами и руководствами ::: ::: :::

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

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

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

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

comments powered by Disqus