Создание многосекционных сеток в Seaborn с помощью FacetGrid
Last updated
Last updated
Seaborn — это библиотека для визуализации данных, которая позволяет создавать сложные статистические визуализации простым способом. Одним из её преимуществ является возможность легко добавлять подграфики. В этом руководстве вы узнаете, как создавать сетки с несколькими графиками, используя Seaborn FacetGrid и подграфики. Поскольку Seaborn призван упростить создание сложных визуализаций, он предоставляет высокоуровневые функции для простого создания сеток графиков.
В конце этого руководства вы узнаете следующее:
Как добавить строки и столбцы или данные в график Seaborn для создания подграфиков
Как работает объект Seaborn FacetGrid и как его использовать
Оглавление
Seaborn упрощает добавление нескольких подграфиков на график с параметрами col=
, row=
и hue=
. Эти параметры позволяют добавлять небольшие множественные графики в строки и столбцы основной фигуры графика для дальнейшего разделения данных на эти категории. Это позволяет создавать визуализации, такие как представленная ниже:
Как вы узнаете в следующем разделе, эти визуализации построены на основе FacetGrid. Поэтому необходимо использовать функции фигурного уровня Seaborn, которые включают следующие:
Теперь давайте разберемся, как использовать эти функции для добавления строк и столбцов малых множеств в Seaborn.
Добавление столбцов подзаголовков к визуализации на уровне фигуры в Seaborn можно осуществить с помощью параметра col=
. Например, если мы хотим добавить малые мультипликаты к столбцам диаграммы рассеяния, мы могли бы использовать следующий код:
Это возвращает следующее изображение, где переменная, переданная в параметр col=
, разделена на несколько подграфиков:
В следующем разделе вы узнаете, как добавлять строки дополнительных графиков.
Добавление рядов подграфиков к визуализации на уровне фигуры в Seaborn можно осуществить с помощью параметра row=
. Например, если мы хотим добавить малые мультипликаты к рядам диаграммы рассеяния, мы могли бы использовать следующий код:
Это возвращает следующее изображение, где мы также добавили строки субплотов. Мы объединили параметры col=
и row=
, чтобы создать сетку субплотов
В следующем разделе вы узнаете, как добавить еще одну переменную данных, разделяя данные по цвету.
Помимо разделения данных на строки и столбцы подграфиков, мы также можем добавить цвет для добавления еще одного измерения.
При использовании этого кода мы получаем визуализацию, представленную ниже, где дополнительная переменная добавлена с помощью цвета.
Теперь, когда вы рассмотрели некоторые практические примеры, давайте погрузимся в то, как работает Seaborn
Seaborn FacetGrid позволяет разместить несколько графиков на одном графике. Это фактически тип объекта, который возвращается при создании визуализаций на уровне фигуры, например, при использовании relplot()
.
Посмотрим, как это выглядит на языке Python:
В приведенном выше примере мы создали FacetGrid grid
, передав DataFrame df
в параметр data=
, а столбец 'island'
в параметр col=
.
Поскольку в нашем наборе данных три уникальных значения в столбце 'island'
, создаются три пустых графика. Мы можем передавать данные, используя метод .map()
, который позволяет передать функцию для отображения, а также дополнительные параметры.
Например, если мы передаем функцию sns.scatterplot
, нам нужно передать как минимум два дополнительных параметра: один для оси x и один для оси y. Давайте посмотрим, как это выглядит:
Передавая эти дополнительные сопоставления, мы можем создать тот же график, который могли бы создать с помощью: sns.relplot(data=df, x='bill_depth_mm', y='bill_length_mm', col='island')
. Наш код более явный, хотя второй код проще написать (и, возможно, проще понять).
График выше показывает FacetGrid, созданный путем передачи нашего DataFrame с разделением по столбцу island.
В этом уроке вы научились использовать Seaborn для создания подграфиков методом небольших множеств. Используя FacetGrid из Seaborn, вы можете разделить ваши графики на строки и столбцы, распределив их по нескольким переменным.
Сначала вы научились использовать функции на уровне фигур в Seaborn для создания неявных FacetGrid. Они могут использоваться с параметрами row=
и col=
для передачи дополнительных переменных для разделения данных. Затем вы научились создавать FacetGrid с нуля и отображать функции и данные для визуализации данных.
Чтобы узнать больше о связанных темах, ознакомьтесь с ресурсами ниже:
Seaborn relplot – Создание диаграмм рассеяния и линейных диаграмм
sns.relplot()
sns.displot()
sns.catplot()