Почему Seaborn?

Seaborn — популярная библиотека визуализации данных, предоставляющая высокоуровневый интерфейс для построения графиков данных в Python. Он предлагает несколько преимуществ по сравнению с другими библиотеками построения графиков, в том числе:

Абстракция. Seaborn предоставляет уровень абстракции, что упрощает его использование по сравнению с другими библиотеками для построения графиков. Это означает, что даже без предварительного опыта вы можете создавать сложные графики всего несколькими строками кода.

Эстетика. Seaborn имеет лучшую эстетику по сравнению с другими библиотеками для построения графиков. Он имеет несколько встроенных тем и цветовых палитр, которые делают ваши графики более профессиональными и привлекательными.

Дополнительные графики: Seaborn включает различные типы графиков, включая гистограммы, гистограммы, точечные диаграммы и многое другое. Это означает, что у вас есть больше возможностей для визуализации данных и вы можете выбрать наилучшее представление для анализа.

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

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

В Seaborn существует два типа функций: функции уровня фигуры и функции уровня осей.

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

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

Сиборн в основном делится на шесть типов графиков:

1. Реляционный график: он используется для просмотра статистической связи между двумя или более переменными. Двумерный анализ выполняется с использованием реляционных графиков.

2. График распределения: он используется для одномерного анализа, чтобы выяснить распределение данных, диапазон наблюдения, центральную тенденцию и наличие выбросов.

3. Категориальный график: используется для визуализации связи между категориальными переменными.

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

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

6. Мультиграфики: используется для создания нескольких графиков на одном рисунке.

Реляционные графики

Реляционные графики используются для визуализации данных, чтобы увидеть статистическую взаимосвязь между двумя или более переменными. Он также известен как двумерный анализ. Цель реляционных графиков — понять отношения между двумя переменными, то, как они влияют друг на друга, и силу их отношений. В разделе реляционных графиков есть два основных графика: диаграмма рассеяния и линейная диаграмма.

диаграмма рассеяния

Диаграмма рассеяния — это тип графика, используемый для визуализации взаимосвязи между двумя количественными переменными. Он используется для представления отношения между двумя переменными в виде набора точек на двумерной плоскости. Каждая точка представляет собой одно наблюдение из набора данных, где координата x точки представляет значение одной переменной, а координата y представляет значение другой переменной. Диаграмма рассеяния позволяет нам визуализировать распределение данных и выявить любые закономерности или тенденции в отношениях между двумя переменными. В Seaborn диаграмма рассеяния создается с помощью функции sns.scatterplot и может быть настроена с использованием таких аргументов, как x, y, hue, style и size..

Функция уровня осей

# scatter plot -> axes level function
import seaborn as sns
import matplotlib.pyplot as plt
# Load the tips dataset
tips = sns.load_dataset('tips')

# Create a scatter plot using the tips dataset
#sns.scatterplot(x=x_variable, y=y_variable, hue=hue_variable, style=style_variable, size=size_variable)
sns.scatterplot(data=tips, x='total_bill', y='tip', hue='sex', style='time', size='size')

# Add a title to the plot
plt.title('Scatter Plot of Total Bill and Tip in the Tips Dataset')

# Show the plot
plt.show()

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

Функция sns.scatterplot создает точечную диаграмму, и ей передаются следующие параметры:

данные: это объект фрейма данных, содержащий данные для построения графика. В данном случае это кадр данных «советы».

x: указывает столбец в фрейме данных, который следует использовать в качестве данных по оси X. В данном случае это столбец «total_bill».

y: указывает столбец в фрейме данных, который следует использовать в качестве данных по оси Y. В данном случае это столбец «чаевые».

hue: указывает столбец в фрейме данных, который следует использовать для различения точек на графике в зависимости от их цвета. В данном случае это столбец «пол».

style: указывает столбец в фрейме данных, который следует использовать для различения точек на графике в зависимости от их стиля. В данном случае это столбец «время».

size: указывает столбец во фрейме данных, который следует использовать для различения точек на графике в зависимости от их размера. В данном случае это столбец «размер».

Точечная диаграмма будет визуализировать взаимосвязь между общим счетом и суммой чаевых в кадре данных «чаевые», при этом различные точки будут дифференцированы на основе значений в столбцах «пол», «время» и «размер».

Преимущества и недостатки функций уровня оси: -

Преимущества функций уровня оси:

  • Предлагайте больший контроль над отдельными компонентами визуализации, позволяя более точно настраивать внешний вид и стиль.
  • Могут быть более гибкими, поскольку их можно комбинировать различными способами для создания сложных визуализаций.
  • Часто имеют более простой интерфейс и более просты в освоении, что делает их более доступными для начинающих пользователей.

Недостатки функций уровня осей:

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

Уровень фигуры

# relplot -> figure level
#sns.relplot(x=x_variable, y=y_variable, data=data, kind='scatter', hue=hue_variable, style=style_variable, size=size_variable)
sns.relplot(data=tips, x='total_bill', y='tip', kind='scatter',hue='sex',style='time',size='size')

x_variable: переменная, используемая для оси X.

y_variable: переменная для оси Y.

data: Набор данных, который вы хотите построить.

kind: тип отображаемого графика (по умолчанию «разброс»).

hue: переменная, используемая для цветового кодирования маркеров на графике.

style: переменная, используемая для стилизации маркеров на графике.

size: переменная, используемая для управления размером маркеров на графике.

Преимущества и недостатки функций уровня фигуры: -

Преимущества функций уровня фигуры:

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

Недостатки функций уровня фигуры:

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

Когда использовать функции уровня фигуры и уровня оси в Seaborn:

Функции уровня фигуры:

  • Эти функции создают полную фигуру с одним или несколькими подграфиками. Они используются для создания нескольких сюжетов и придания эстетичности общей фигуре.
  • Они предоставляют высокоуровневый интерфейс для управления несколькими деталями графика, такими как цвета, метки и заголовки.
  • Примеры: relplot(), парная диаграмма(), кошачья диаграмма().

Функции уровня оси:

  • Эти функции используются для построения одного графика за раз.
  • Они обеспечивают более низкий уровень управления отдельным графиком, включая размер, масштаб и метки осей.
  • Примеры: диаграмма рассеяния(), гистограмма(), линейная диаграмма().

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

Линейные сюжеты: -

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

Линейный график позволяет нам визуализировать общую тенденцию в отношениях между двумя переменными, что упрощает выявление закономерностей и тенденций. В Seaborn линейный график создается с помощью функции sns.lineplot и может быть настроен с использованием таких аргументов, как x, y, оттенок и стиль.

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

import plotly.express as px 
gap = px.data.gapminder()
temp1 = gap[gap['country'].isin(['India','Brazil','Italy'])]
temp1.sample()
#sns.lineplot(data=data, x=x_variable, y=y_variable, hue=hue_variable, style=style_variable)
# axis level

sns.lineplot(data = temp1, x='year',y='lifeExp',hue='country',style='continent') 
# Add a title to the plot
plt.title('Line Plot of Year and LifeExp in the temp1 Dataset')

Эта строка кода использует библиотеку Seaborn на Python для создания визуализации линейного графика.

Функция sns.lineplot создает линейный график, которому передаются следующие параметры:

данные: это объект фрейма данных, содержащий данные для построения графика. В данном случае это кадр данных «temp1».
x: указывает столбец в кадре данных, который следует использовать в качестве данных по оси X. В данном случае это столбец «год».
y: указывает столбец во фрейме данных, который следует использовать в качестве данных по оси Y. В данном случае это столбец «lifeExp».
hue: указывает столбец во фрейме данных, который следует использовать для различения линий на графике в зависимости от их цвета. В данном случае это столбец «страна».
стиль: указывает столбец во фрейме данных, который следует использовать для различения линий на графике в зависимости от их стиля. В данном случае это столбец «континент».
Линейный график будет отображать изменения ожидаемой продолжительности жизни с течением времени для разных стран и континентов на основе данных в кадре данных «temp1».

#sns.relplot(x=x_variable, y=y_variable, data=data, kind='line', hue=hue_variable, style=style_variable, size=size_variable)
# fig level
sns.relplot(data = temp1, kind='line',x='year',y='lifeExp',hue='country',style='continent',size='continent')

x_variable: переменная, используемая для оси X.

y_variable: переменная для оси Y.

данные: набор данных, который вы хотите построить.

kind: тип отображаемого графика (по умолчанию — «точечный», но в данном случае он установлен на «линейный»).

hue: переменная, используемая для цветового кодирования маркеров на графике.

style: переменная, используемая для стилизации маркеров на графике.

size: переменная, используемая для управления размером маркеров на графике.

Граничный участок

Фасетный график — это тип графика в визуализации данных, который позволяет отображать несколько графиков в формате сетки. Это позволяет вам отображать несколько подмножеств ваших данных, используя один и тот же тип графика, но с разными переменными по оси x, оси y и оттенку.

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

Функция sns.FacetGrid является функцией уровня фигуры и используется в сочетании с sns.relplot для создания графика фасетов. Хотя sns.scatterplot и sns.lineplot являются функциями уровня осей и не могут использоваться напрямую с sns.FacetGrid для создания фасетного графика. Вам нужно использовать sns.relplot в качестве базового графика и указать тип графика (например, точечный, линейный и т. д.), используя параметр kind.

Примечание. Мы можем дополнительно настроить график, добавив заголовки, метки и отрегулировав размер и стиль графика, используя функции g.set_titles, g.set_xlabels, g.set_ylabels, g.set_axis_labels и g.set_xticklabels.

#sns.relplot(x=x_variable, y=y_variable, data=data, kind='scatter', col=col_variable, row=row_variable, hue=hue_variable)
sns.relplot(data=tips,x='total_bill',y='tip',kind='scatter',col='sex',row='smoker',hue='day')

x_variable: переменная, используемая для оси X.

y_variable: переменная для оси Y.

данные: набор данных, который вы хотите построить.

kind: тип отображаемого графика (по умолчанию — «разброс»).

col: переменная, используемая для разделения графика на столбцы.

row: переменная, используемая для разделения графика на строки.

hue: переменная, используемая для цветового кодирования маркеров на графике.

# col wrap
#sns.relplot(x=x_variable, y=y_variable, data=data, kind='scatter', col='column_variable', col_wrap=n, hue=hue_variable, style=style_variable, size=size_variable)

sns.relplot(data=gap, x='lifeExp', y='gdpPercap', kind='scatter', col='year', col_wrap=3)

x_variable: переменная, используемая для оси X.

y_variable: переменная для оси Y.

данные: набор данных, который вы хотите построить.

kind: тип отображаемого графика (по умолчанию — «разброс»).

col: переменная, используемая для группировки подграфиков в столбцах.

col_wrap: количество столбцов для переноса подграфиков (по умолчанию — «Нет»).

hue: переменная, используемая для цветового кодирования маркеров на графике.

style: переменная, используемая для стилизации маркеров на графике.

size: переменная, используемая для управления размером маркеров на графике.

В приведенном выше примере функция создает точечную диаграмму lifeExp по сравнению с gdpPercap из набора данных gap, сгруппированных в подграфики по переменной year с максимальным количеством столбцов 3 перед переносом на следующую строку.

Сюжет распределения

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

Одномерный анализ. График распределения используется для одномерного анализа, то есть анализа одной переменной за раз. Целью этого типа анализа является понимание распределения одной переменной, включая ее диапазон, центральную тенденцию и любые необычные наблюдения.

Распределение. Графики распределения используются для определения распределения данных. Распределение — это шаблон, показывающий, как данные распределяются по диапазону значений.

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

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

Бимодальное: бимодальное распределение — это такое распределение, при котором в данных присутствуют две моды. Графики распределения могут помочь определить, являются ли данные бимодальными.

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

# уровень фигуры -> дисплей

# уровень осей -> histplot -> kdeplot -> rugplot

исторический сюжет

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

в основном kya mtlab hau ki data ka распределение batata hai bins me convert krke ki us bin me kitne count hai data ke

# axis level
#sns.histplot( data=data, x=x_variable)
sns.histplot(data=tips, x='total_bill')

x_variable: переменная, для которой будет построена гистограмма.

данные: набор данных, который вы хотите построить.

# figure level
# sns.displot(data=data,x=x_variable, kind='hist', hue=hue_variable, element=element_variable)
sns.displot(data=tips, x='tip', kind='hist',hue='sex',element='step')

data: набор данных, который вы хотите построить.

x_variable: переменная, используемая для построения графика распределения.

kind: тип отображаемого графика (по умолчанию — "hist")
hue: переменная, используемая для цветового кодирования маркеров на графике
элемент: элемент, используемый для построения графика распределения (варианты: «шаг», «коврик», «плотность» или «хист»).

#faceting using col and row -> not work on axis-level function
#sns.displot(data=data, x=x_variable, kind='hist', col=col_variable, element='step')
sns.displot(data=tips, x='tip', kind='hist',col='day',element='step')

данные: набор данных, который вы хотите построить.

x_variable: переменная, используемая для оси X.

kind: тип отображаемого графика (по умолчанию — «Hist»).

hue: переменная, используемая для цветового кодирования полос на графике.

элемент: отображаемый элемент (по умолчанию – "шаг").

col: переменная, используемая для разделения графика на отдельные столбцы.

сюжет kde

График плотности ядра (график KDE) — это способ представить распределение данных путем построения плавной кривой, которая представляет плотность вероятности наблюдений. Он использует ядро ​​Гаусса для сглаживания наблюдений и получения непрерывной оценки плотности. Его можно использовать для визуализации распределения одной переменной и сравнения распределения между различными группами или категориями.

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

#axis level
#sns.kdeplot(data=data, x=x_variable)
sns.kdeplot(data=tips,x='total_bill')

data: набор данных, который вы хотите построить.

x_variable: переменная, используемая для оси X.

# fig level
# sns.displot(data=data, x=x_variable, kind='kde', hue=hue_variable, fill=fill)
sns.displot(data=tips,x='total_bill',kind='kde',hue='sex',fill=True)

data: набор данных, который вы хотите построить.

x_variable: переменная, используемая для оси X.

kind: тип отображаемого графика (по умолчанию — «hist», но можно установить «kde», чтобы создать график KDE).

hue: переменная, используемая для цветового кодирования линий на графике.

fill: логическое значение, указывающее, следует ли заполнять область под кривой KDE.

заговор

Ковровая диаграмма — это тип графика одномерного распределения, на котором отдельные точки данных отображаются в виде вертикальных линий вдоль оси x. Он используется для представления плотности данных по оси x и обеспечивает простой способ визуализации распределения одной переменной. На графике каждая точка данных представлена ​​в виде вертикальной галочки или полосы, которая начинается от оси x и продолжается вверх в соответствии с ее высотой. График можно комбинировать с другими графиками, такими как гистограммы или графики KDE, чтобы обеспечить более полное представление о распределении данных.

Постройте маргинальные распределения, нарисовав галочки вдоль осей x и y.
Эта функция предназначена для дополнения других графиков, ненавязчивым образом показывая местоположение отдельных наблюдений.

# axis level
sns.kdeplot(data=tips,x='total_bill')
sns.rugplot(data=tips,x='total_bill')

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

# both function will work axis and fig level
#sns.displot(data=data, x=x_variable, y=y_variable, kind='hist')
sns.histplot(data=tips, x='total_bill', y='tip')
sns.displot(data=tips, x='total_bill', y='tip',kind='hist')

data: набор данных, который вы хотите построить.

x_variable: переменная, используемая для построения графика распределения.

y_variable:переменная, используемая для построения графика распределения.

kind: тип отображаемого графика (по умолчанию — «hist»).

kdeplot

Двумерный график KDE — это двумерное представление распределения двух переменных. Он показывает, как совместное распределение двух переменных изменяется при изменении значений переменных. График создается путем применения ядра Гаусса для сглаживания наблюдений (x, y) и последующей визуализации результатов. График может помочь определить любые отношения или закономерности между двумя переменными и дать представление о совместном распределении данных.

#sns.kdeplot(data=data, x=x_variable, y=y_variable)
sns.kdeplot(data=tips, x='total_bill', y='tip')

line pass pass hai todensity jada hai vrnadensity jada hai.

data: набор данных, который вы хотите построить.

x_variable: переменная, используемая для построения графика распределения.

y_variable: переменная, используемая для построения графика распределения.

Категориальные сюжеты

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

Существует несколько типов категориальных сюжетов, в том числе:

  • Категориальные графики рассеяния: эти графики показывают взаимосвязь между двумя переменными путем построения отдельных наблюдений. Существует два типа категориальных диаграмм рассеяния: Stripplot и Swarmplot.
  • Графики категориального распределения. Эти графики показывают распределение числовой переменной для каждой категории категориальной переменной. Существует два типа категориальных графиков распределения: Boxplot и Violinplot.
  • Графики категориальных оценок. Эти графики показывают центральную тенденцию числовой переменной для каждой категории категориальной переменной. Существует три типа категориальных оценочных графиков: линейчатая диаграмма, точечная диаграмма и счетная диаграмма.

Эти графики можно создать с помощью функции catplot в библиотеке seaborn.

Диаграммы разброса по категориям

Категориальные диаграммы рассеяния визуализируют взаимосвязь между двумя категориальными переменными путем построения точек на пересечении двух переменных. В этом типе графика каждая точка представляет собой одно наблюдение, и положение точки на оси X определяется первой категориальной переменной, а положение на оси Y определяется второй категориальной переменной. Двумя наиболее распространенными типами категориальных диаграмм рассеяния являются полосовая диаграмма и роевая диаграмма. Ленточные диаграммы используются для визуализации распределения точек данных по оси Y для каждой категории переменной оси X. Swarmplot, с другой стороны, распределяет точки данных по оси Y, чтобы избежать перекрытия, что упрощает визуализацию распределения данных.

Стриптиз

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

# axis level function
# jittter withdefault value
#sns.stripplot(data=date,x='x_variable',y='y_variable',jitter=False(default True))
sns.stripplot(data=tips,x='day',y='total_bill')
sns.stripplot(data=tips,x='day',y='total_bill',jitter=False)

Функция sns.stripplot используется для создания диаграммы рассеяния, где одна из переменных является категориальной. В приведенном выше коде ось X показывает значения столбца «день», который является категориальным, а ось Y показывает значения столбца «total_bill». Параметр jitter, установленный в False, отключает дрожание, что помогает избежать перерисовки за счет случайного небольшого смещения точек в горизонтальном направлении. Это приводит к более компактному представлению данных.

# catplot ->fig level function
# also we can change jitter value accordinly we want
##sns.stripplot(data=date,x='x_variable',y='y_variable',jitter=False(default True also we can change accordinly we want),hue=hue_variable)
sns.catplot(data=tips,x='day',y='total_bill',jitter=0.25,hue='sex)

Функция sns.stripplot() в библиотеке Seaborn используется для создания диаграммы рассеяния по категориям.

Аргумент data имеет значение tips

Аргумент x имеет значение 'day'

Аргумент y имеет значение 'total_bill'

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

Аргумент hue имеет значение 'sex'

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

роя

Swarmplot — это категориальный точечный график, который отображает все наблюдения на графике, а не перекрывает их. Это помогает избежать перерисовки и обеспечивает более четкую визуализацию распределения данных. Положение каждого наблюдения регулируется таким образом, чтобы они не перекрывались друг с другом, что упрощает просмотр плотности данных. Ось X представляет категориальную переменную, а ось Y представляет непрерывную переменную. Параметр hue можно использовать для различения разных категорий внутри категориальной переменной.

# axis level function
#sns.swarmplot(data=dataframe,x='x_variable',y='y_variable')
sns.swarmplot(data=tips,x='day',y='total_bill')
# fig level function
#sns.catplot(data=DataFrame,x='x_variable', y ='y_variable',kind='swarmplot'(default))
sns.catplot(data=tips,x='day', y ='total_bill')

x_variable: переменная, используемая для оси X.

y_variable: переменная для оси Y.

данные: набор данных, который вы хотите построить.

kind: тип отображаемого графика (по умолчанию — «swarmplot»).

# fig level  
sns.catplot(data=tips,x='day',y='total_bill',kind='swarm',hue='sex')
# axis level
sns.swarmplot(data=tips,x='day',y='total_bill',hue='sex')

hue: переменная, используемая для цветового кодирования точек на графике.

Графики распределения по категориям

Графики категориального распределения — это графики, которые позволяют визуализировать распределение категориальной переменной. Они используются для наблюдения за распределением одной или нескольких переменных и взаимосвязью между этими переменными и переменной отклика. Они обычно используются для визуализации распределения переменных, таких как рост, вес, возраст или заработная плата, для заданной категории, такой как пол, род занятий или тип заболевания. Существует два распространенных типа графиков категориального распределения: Коробчатая диаграмма и Скрипичная диаграмма. Эти графики можно использовать для визуализации распределения переменной и наличия выбросов.

Блочная диаграмма

Блочная диаграмма представляет собой стандартный способ отображения распределения данных на основе сводки из пяти чисел («минимум», первый квартиль [Q1], медиана, третий квартиль [Q3] и «максимум»). Он может рассказать вам о ваших выбросах и их значениях. Блочные диаграммы также могут сказать вам, являются ли ваши данные симметричными, насколько плотно ваши данные сгруппированы, и если и как ваши данные искажены.

Блочная диаграмма (или диаграмма "коробка с усами") – это стандартный способ отображения распределения данных на основе сводки по пяти числам. График состоит из поля, представляющего межквартильный размах (IQR), который содержит 50 % данных, линии внутри поля, представляющей медиану (среднее значение), и уса, представляющего диапазон данных. Любые точки за пределами диапазона представлены отдельными точками и считаются выбросами.

В Seaborn функцию boxplot можно использовать для создания коробчатой ​​диаграммы. Основной синтаксис:

sns.boxplot(x=<categorical variable>, y=<numerical variable>, data=<dataframe>)

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

# Box plot -> axis level
#sns.boxplot(data=DataFrame,x='X_variable',y='y_variable')
sns.boxplot(data=tips,x='day',y='total_bill')
# Using catplot ->fig level
#sns.catplot(data=DataFrame,x='X_variable',y='y_variable',kind='box')
sns.catplot(data=tips,x='day',y='total_bill',kind='box')

x_variable: переменная, используемая для оси X.

y_variable: переменная для оси Y.

данные: набор данных, который вы хотите построить.

kind: тип графика для отображения kind = box.

# hue
# axis level
##sns.boxplot(data=DataFrame,x='X_variable',y='y_variable',hue='hue_variable')
sns.boxplot(data=tips,x='day',y='total_bill',hue='sex')

#fig level
# hue
##sns.catplot(data=DataFrame,x='X_variable',y='y_variable',kind='box',hue='hue_variable')
sns.catplot(data=tips,x='day',y='total_bill',hue='sex', kind='box')

hue: переменная, используемая для цветового кодирования блоков на графике.

# single boxplot -> numerical col
# axis level
sns.boxplot(data=tips,y='total_bill')

# figure level
sns.catplot(data=tips,y='total_bill',kind='box')

скрипкасюжет

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

# violinplot->axis leve
#sns.vilonplot(data=DataFrame,x='X_variable',y='y_variable')
sns.violinplot(data=tips,x='day',y='total_bill')

#catplot-> fig level
#sns.catplot(data=DataFrame,x='X_variable',y='y_variable',kind='violin')
sns.catplot(data=tips,x='day',y='total_bill',kind='violin')

x_variable: переменная, используемая для оси X.

y_variable: переменная для оси Y.

данные: набор данных, который вы хотите построить.

kind: тип создаваемого сюжета, kind = скрипка.

# hue
#axis level
sns.violinplot(data=tips,x='day',y='total_bill',hue='sex')

#fig level
sns.catplot(data=tips,x='day',y='total_bill',kind='violin',hue='sex')

hue: переменная, используемая для цветового кодирования форм скрипки на графике.

# split
# fig level
sns.catplot(data=tips,x='day',y='total_bill',kind='violin',hue='sex',split=True)

# axis level
sns.violinplot(data=tips,x='day',y='total_bill',hue='sex',split=True)

split: позволяет разделить (разделить) сюжет скрипки с помощью переменной hue, которая в данном случае является «полом».

Аргумент «split» в функции seaborn violinplot — это логическое значение, которое определяет, следует ли строить график скрипки для каждой категории отдельно. Если установлено значение True, график скрипки для каждой категории будет разделен и отображен по обе стороны от центральной оси. Это полезно для визуализации распределения данных по каждой категории. Если установлено значение False, сюжет скрипки для каждой категории отображается как один сюжет скрипки, что может затруднить различение категорий.

Барный участок

Гистограмма, также известная как столбчатая диаграмма или столбчатая диаграмма, представляет собой диаграмму или график, который представляет категориальные данные с помощью прямоугольных столбцов. Столбцы представляют величину измеряемой переменной, а высота или длина столбца соответствует значению переменной. На гистограмме категориальная переменная обычно представлена ​​на оси x, а количественная переменная — на оси y. Высота столбцов может быть представлена ​​подсчетом частоты или некоторой сводной статистикой, такой как среднее значение или медиана.

#sns.barplot(data=DataFrame, x='X_variable', y='y_variable',hue='hue_variable',estimator= statistical_function)
sns.barplot(data=tips, x='sex', y='total_bill',hue='smoker',estimator=np.mean)

x_variable: переменная, используемая для оси X.

y_variable: переменная для оси Y.

данные: набор данных, который вы хотите построить.

hue: переменная, используемая для цветового кодирования полос на графике.

estimator: указывает статистическую функцию, которая применяется к переменной y набора данных, чтобы представить центральную тенденцию данных. По умолчанию используется среднее значение переменной y. estimator можно изменить на любую другую функцию, такую ​​как медиана или стандартное отклонение, в зависимости от требований.

sns.barplot(data=tips, x='sex', y='total_bill',ci=None)

«ci» означает доверительный интервал. Это мера степени неопределенности относительно среднего значения. В случае гистограммы он представляет собой диапазон значений вокруг среднего, который, вероятно, включает истинное среднее значение генеральной совокупности. Если для параметра «ci» установлено значение «Нет», это означает, что доверительный интервал не будет построен.

Точечный участок

Pointplot — это тип категориального графика в морской библиотеке, используемый для визуализации связи между числовой переменной и категориальной переменной. Он представляет среднее (или другое оценочное) значение числовой переменной для каждой категории в категориальной переменной в виде точки на графике. Он также показывает неопределенность оценки с использованием планок погрешностей. Точечный график полезен, когда у вас есть несколько категорий и вы хотите сравнить их средние значения и увидеть распределение данных.

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

#sns.pointplot(data=DataFrame, x='x_variable', y='y_variable',hue='hue_variable',ci=error_bar)
sns.pointplot(data=tips, x='sex', y='total_bill',hue='smoker',ci=None)

x_variable: переменная, используемая для оси X.

y_variable: переменная для оси Y.

данные: набор данных, который вы хотите построить.

hue: переменная, используемая для цветового кодирования полос на графике.

ci:панель ошибок хотите видеть или нет, если нет ci=None

счетный участок

Countplot — это категориальный график, используемый для отображения количества наблюдений в каждой категории. По сути, это гистограмма для категориальных переменных. На графике высота каждого столбца представляет количество наблюдений в этой категории. По умолчанию countplot показывает количество наблюдений в каждой категории, но его можно настроить для отображения суммы или среднего значения определенной переменной для каждой категории. Это хороший инструмент для изучения распределения категориальных переменных.

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

#sns.countplot(data=DataFrame,x='X_variable',hue='hue_variable')
sns.countplot(data=tips,x='sex',hue='day')

x_variable: переменная, используемая для оси X.

данные: набор данных, который вы хотите построить.

hue: переменная, используемая для цветового кодирования полос на графике.

огранка с использованием кошачьей диаграммы

Огранка — это способ создания нескольких подграфиков на основе значений категориальной переменной в наборе данных. Используя catplot в seaborn, мы можем создавать многогранные графики, указав аргумент col или row. Аргумент col создает подграфики на основе значений в указанном столбце, а аргумент row создает подграфики на основе значений в указанной строке. Аргумент kind можно использовать для указания типа графика, такого как гистограмма, график скрипки и т. д. Это позволяет нам быстро визуализировать, как числовая переменная изменяется на уровнях другой категориальной переменной.

# faceting using catplot
#sns.catplot(data=Dataframe, x='x_variable',y='y_variable',col='col_argument',kind='kind_plot',row='row_argument')
sns.catplot(data=tips, x='sex',y='total_bill',col='smoker',kind='box',row='time')

График регрессии

Графики регрессии используются для визуализации взаимосвязи между двумя непрерывными переменными. Они обычно используются в статистике и машинном обучении для моделирования связи между переменной-предиктором (независимой) и переменной-откликом (зависимой).

regplot и lmplot — две функции, используемые для создания графиков регрессии. Эти функции используют графики рассеивания и линии регрессии для визуализации взаимосвязи между двумя переменными. Они также предоставляют дополнительную информацию, такую ​​как уравнение линии регрессии, доверительные интервалы и маркеры диаграммы рассеяния.

В самом простом вызове обе функции рисуют диаграмму рассеяния двух переменных, x и y, а затем подгоняют модель регрессии y ~ x и строят результирующую линию регрессии и доверительный интервал 95% для этой регрессии.

Регплот

Regplot — это функция в библиотеке Seaborn, используемая для создания диаграммы рассеяния с линейной регрессией, подходящей поверх нее. Этот график помогает визуализировать взаимосвязь между двумя переменными и линией наилучшего соответствия (линейная регрессия) в верхней части графика рассеяния.

# axis level
# hue parameter is not available
#sns.regplot(data=DataFrame, x='X_variable', y='y_variable')
sns.regplot(data=tips,x='total_bill',y='tip')

Параметр «data» используется для указания кадра данных, содержащего данные для построения графика.

Параметр x используется для указания имени столбца независимой переменной.

Параметр y используется для указания имени столбца зависимой переменной.

lсюжет

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

# fig level function
# sns.lmplot(data=DataFrame,x='X_variable',y='y_variable',hue='hue_variable')
sns.lmplot(data=tips,x='total_bill',y='tip',hue='sex')

x_variable: переменная, используемая для оси X.

y_variable: переменная для оси Y.

данные: набор данных, который вы хотите построить.

hue: переменная, используемая для цветового кодирования точек на графике.

участок земли

Residplot — это точечная диаграмма, на которой остатки (разницы между фактическими и прогнозируемыми значениями) отображаются по вертикальной оси, а значения предикторов — по горизонтальной оси. Он используется для проверки наличия какой-либо нелинейности в отношениях между предиктором и переменными отклика, а также для оценки нормальности и гомоскедастичности остатков. В Seaborn residplot — это функция, доступная в модуле regplot, которая генерирует остаточный график для моделей линейной регрессии. Функцию можно использовать, передав данные, переменную-предиктор и переменную-ответ в параметры x и y соответственно.

#sns.residplot(data=DataFrame,x='x_variable',y='y_variable')
sns.residplot(data=tips,x='total_bill',y='tip')

x_variable: переменная, используемая для оси X.

y_variable: переменная для оси Y.

данные: набор данных, который вы хотите построить.

Матрица График

Матричный график — это способ отображения данных по двум измерениям в виде значений с цветовой кодировкой. График обычно состоит из матрицы ячеек, где значение каждой ячейки представлено цветом. Матричные графики часто используются для визуализации больших наборов данных и могут использоваться для выявления закономерностей и взаимосвязей между переменными. Чаще всего матричные графики используются для визуального изучения больших и сложных наборов данных, например, при анализе экспрессии генов или анализе финансовых данных. Матричные графики можно создавать с помощью таких библиотек, как seaborn в Python, и их можно настраивать в соответствии с конкретными потребностями визуализации данных, например, отображать распределение данных, выделять определенные шаблоны и взаимосвязи или выделять выбросы и аномалии. Благодаря возможности визуализировать большие наборы данных в компактной и интуитивно понятной форме матричные графики являются важным инструментом для ученых и аналитиков данных.

Тепловая карта. Тепловая карта — это графическое представление данных, в котором значения представлены в виде цветов. Это тип матричного графика, который можно использовать для визуализации отношений между двумя или более переменными в наборе данных. Цвета на тепловой карте представляют значения каждой переменной, причем более темные цвета указывают на более высокие значения.

Кластерная карта. Кластерная карта — это тип тепловой карты, которая отображает иерархическую кластеризацию строк и столбцов набора данных. Этот график полезен для выявления похожих групп наблюдений в данных. Цвета на кластерной карте представляют собой расстояния между каждым наблюдением, при этом похожие наблюдения группируются вместе и отображаются одним цветом.

Тепловая карта

# Heatmap
gap = px.data.gapminder()
# Plot rectangular data as a color-encoded matrix
temp_df = gap.pivot(index='country',columns='year',values='lifeExp')

# axes level function       there is no fig level function for heat-map
temp_df = gap[gap['continent'] == 'Asia'].pivot(index='country',columns='year',values='lifeExp')

plt.figure(figsize=(15,15))
sns.heatmap(temp_df,annot=True,linewidth=0.5, cmap='summer')

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

temp_df кадр данных используется в качестве входных данных для тепловой карты.

Параметр annot устанавливает, будут ли аннотированы значения в каждой ячейке матрицы или нет.

Параметр linewidth задает ширину линий, разделяющих каждую ячейку в матрице.

Параметр cmap задает цветовую карту, используемую для тепловой карты, в данном случае это «лето».

Кластерная карта

# Clustermap

# Plot a matrix dataset as a hierarchically-clustered heatmap.

# This function requires scipy to be available.

iris = px.data.iris()
iris

sns.clustermap(iris.iloc[:,[0,1,2,3]])

Строка sns.clustermap(iris.iloc[:,[0,1,2,3]]) создает кластерную карту данных радужной оболочки, используя столбцы 0, 1, 2 и 3 кадра данных радужной оболочки. Функция sns.clustermap из библиотеки seaborn создает тепловую карту с данными и группирует данные иерархически на основе сходства между значениями в каждой строке или столбце. Метод iloc используется для выбора определенных столбцов из кадра данных радужной оболочки. В этом случае первые 4 столбца выбираются методом iloc. Полученная кластерная карта дает визуальное представление о сходстве между каждым признаком и взаимосвязях между различными классами видов ирисов.

Мультиграфики

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

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

PairGrid является подклассом FacetGrid. Он используется для построения парных отношений между переменными.

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

FacetGrid

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

Зачем FacetGrid? Это позволяет удобно создавать сетку графиков для изучения взаимосвязей между несколькими переменными в наборе данных. Каждый подграфик в сетке может иметь различное представление данных, например точечную диаграмму, линейный график, гистограмму и т. д.

g = sns.FacetGrid(tips, col="time", hue="sex")
g.map_dataframe(sns.scatterplot, x="total_bill", y="tip")
g.add_legend()

Код создает объект FacetGrid g, используя набор данных tips со столбцами в качестве аргумента col и оттенком в качестве аргумента hue.

g.map_dataframe(sns.scatterplot, x="total_bill", y="tip") создает точечную диаграмму с помощью функции sns.scatterplot с total_bill в качестве оси x и tip в качестве оси y.

g.add_legend() добавляет легенду к графику, чтобы различать группы оттенков.

Парный график

Pairplot — это функция в библиотеке Seaborn, которая создает матрицу графиков, показывающую взаимосвязь между различными переменными в наборе данных. Это удобный способ быстро визуализировать взаимосвязи между несколькими переменными на одном графике, так как он объединяет гистограммы, графики рассеяния и графики плотности в одну сетку. Диагональ матрицы показывает распределение каждой переменной, а недиагональные элементы показывают взаимосвязь между двумя переменными. Функция парного графика полезна для начального исследования взаимосвязей между переменными в наборе данных.

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

sns.pairplot(iris,hue='species')

Функция sns.pairplot создает матрицу диаграммы рассеяния для всех комбинаций переменных в iris DataFrame.

Параметр hue используется для окрашивания точек данных на основе значений в столбце «виды».

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

ПараСетка

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

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

# pair grid
g = sns.PairGrid(data=iris,hue='species')
# g.map
g.map(sns.scatterplot)

# all subplot will be the same with this code
# map_diag -> map_offdiag
g = sns.PairGrid(data=iris,hue='species')
g.map_diag(sns.boxplot)
g.map_offdiag(sns.kdeplot)
# diagonal graph are same and other sub graph are same

Этот код создает визуализацию PairGrid набора данных «iris». Параметр «оттенок» установлен на «виды», чтобы раскрасить диаграммы рассеяния в соответствии с видами радужной оболочки.

g = sns.PairGrid(data=iris,hue=’species’): создает объект PairGrid, используя данные «радужной оболочки» и устанавливает цветовое кодирование на «виды».

g.map_diag(sns.boxplot): сопоставляет коробочную диаграмму с диагональными подграфиками PairGrid. Это строит распределение переменной для каждого вида.

g.map_offdiag(sns.kdeplot): сопоставляет график оценки плотности ядра с недиагональными подграфиками PairGrid. Это строит отношения между двумя переменными для каждого вида.

# map_diag -> map_upper -> map_lower
g = sns.PairGrid(data=iris,hue='species')
g.map_diag(sns.histplot)
g.map_upper(sns.kdeplot)
g.map_lower(sns.scatterplot)

g = sns.PairGrid(data=iris,hue='species') создает экземпляр класса PairGrid с данными 'iris' и задает для аргумента hue значение ' виды», чтобы добавить цвет к точкам на основе столбца «виды».

g.map_diag(sns.histplot) сопоставляет график гистограммы с диагональю сетки. Аргумент sns.histplot, передаваемый методу map_diag, задает тип отображаемого графика.

g.map_upper(sns.kdeplot) сопоставляет график оценки плотности ядра с верхним треугольником сетки. Аргумент sns.kdeplot, передаваемый методу map_upper, задает тип отображаемого графика.

g.map_lower(sns.scatterplot)сопоставляет точечную диаграмму с нижним треугольником сетки. Аргумент, передаваемый методу map_lower, sns.scatterplot, задает тип отображаемого графика.

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

 # vars       [restrict kr dega jitna chahiye utne hi column ka plot lrege]
g = sns.PairGrid(data=iris,hue='species',vars=['sepal_width','petal_width'])
g.map_diag(sns.histplot)
g.map_upper(sns.kdeplot)
g.map_lower(sns.scatterplot)

В приведенном выше коде объект PairGrid создается с использованием данных радужной оболочки и столбца «виды» в качестве оттенка. Параметр vars используется для указания столбцов, которые следует использовать для построения графика. В этом случае используются только столбцы «sepal_width» и «petal_width».

g.map_diag используется для сопоставления гистограмм с диагональю сетки графика. g.map_upper используется для сопоставления графиков KDE с верхним треугольником сетки графиков. g.map_lower используется для сопоставления точечных диаграмм с нижним треугольником сетки графика.

парный график против парной сетки

Pairplot и PairGrid — это две функции построения графиков в Seaborn, которые позволяют визуализировать отношения между переменными в наборе данных.

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

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

Таким образом, Pairplot — это быстрый и простой способ визуализации взаимосвязей между переменными, в то время как PairGrid обеспечивает больший контроль над внешним видом графика, но для его создания требуется больше кода.

Совместный сюжет

Совместный график — это тип визуализации, используемый для отображения взаимосвязи между двумя переменными. Он объединяет график рассеяния, гистограммы и график оценки плотности ядра в одной визуализации. Его можно создать с помощью функции «jointplot()» из библиотеки seaborn. Цель этого графика — визуализировать распределение и взаимосвязь между двумя переменными на одном графике. Он также может отображать одномерные распределения по диагонали графика. Это удобный способ наблюдать за распределением одной переменной по сравнению с распределением другой переменной и визуализировать взаимосвязь между ними.

sns.jointplot(data=tips,x='total_bill',y='tip',kind='hist',hue='sex')

Функция sns.jointplot() в библиотеке seaborn используется для создания совместного сюжета.

Параметр data указывает данные, которые мы хотим использовать для создания совместного графика, в данном случае tips.

Параметры x и y определяют две переменные, которые мы хотим визуализировать.

Параметр kind указывает тип графика, который мы хотим создать для каждой переменной. В данном случае мы указали 'hist', что означает, что мы хотим создать гистограмму для каждой переменной.

Параметр hue используется для указания категориальной переменной, которую мы хотим использовать для окрашивания графиков. В данном случае мы указали 'sex'.

Этот совместный график создаст две отдельные гистограммы для переменных total_bill и tip и отобразит их на одном рисунке. Параметр hue будет использоваться для окрашивания гистограмм на основе значения переменной sex. Это позволяет нам визуализировать распределение двух переменных и взаимосвязь между ними, а также визуализировать влияние переменной sex на распределения.

джойнтгрид

JointGrid — это подкласс класса Grid в библиотеке Seaborn. Он используется для гибкого построения двумерных распределений и диаграмм рассеяния. С помощью JointGrid вы контролируете эстетику графика и можете объединять несколько графиков вместе. Например, мы можем объединить точечный график, гистограммы, график kde и линию регрессии, чтобы сформировать двумерный график в одной сетке. мы также можем добавлять аннотации и настраивать метки графиков, заголовки и т. д. Он предоставляет удобный интерфейс для создания многопанельных двумерных массивов графиков и обеспечивает большой контроль над внешним видом графика. JointGrid используется, когда мы хотим иметь больший контроль над графиком двух переменных и их отношениями. Это делает его полезным, когда мы хотим объединить различные функции построения графика для создания пользовательского графика или когда мы хотим использовать график, который не предоставляется совместным графиком.

g = sns.JointGrid(data=tips,x='total_bill',y='tip')
g.plot(sns.scatterplot,sns.boxplot)

seaborn.JointGrid используется для создания сеток с несколькими графиками для построения совместной взаимосвязи между двумя переменными вместе с одномерным распределением каждой переменной по отдельным аспектам. В этом примере g — это объект JointGrid, созданный с данными tips и переменными total_bill и tip.

Затем метод plot используется для построения совместной зависимости между переменными. В этом примере sns.scatterplot используется для построения диаграммы рассеяния, а sns.boxplot — для построения одномерного распределения каждой переменной. Результатом этого кода является сетка из нескольких графиков, отображающая взаимосвязь между total_bill и tip, с точечной диаграммой на главной панели и блочными диаграммами на верхней и правой гранях.

JointGrid против совместного сюжета

Jointplot и JointGrid используются для создания совместного графика в Seaborn для визуализации взаимосвязи между двумя переменными.

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

JointGrid, с другой стороны, обеспечивает больший контроль над графиком по сравнению с Jointplot. JointGrid предоставляет возможность создавать подграфики с различными типами графиков на диагональных, верхних и нижних треугольниках. Это дает больше гибкости в визуализации связи между двумя переменными. JointGrid можно использовать для создания графиков с различными типами распределений, таких как гистограммы, графики kde, графики скрипки и т. д. Однако он требует больше кода и может быть менее удобным, чем Jointplot, для быстрой визуализации взаимосвязи между двумя переменными.

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

Вспомогательные функции

# get dataset names
sns.get_dataset_names()
['anagrams',
 'anscombe',
 'attention',
 'brain_networks',
 'car_crashes',
 'diamonds',
 'dots',
 'dowjones',
 'exercise',
 'flights',
 'fmri',
 'geyser',
 'glue',
 'healthexp',
 'iris',
 'mpg',
 'penguins',
 'planets',
 'seaice',
 'taxis',
 'tips',
 'titanic']
# load dataset
sns.load_dataset('name_of_dataset_above')