Как создать несколько графиков Seaborn на одном рисунке


Вы можете использовать функцию FacetGrid() для создания нескольких графиков Seaborn на одном рисунке:

#define grid
g = sns.FacetGrid (data=df, col='variable1', col_wrap= 2 )

#add plots to grid
g. map (sns.scatterplot , 'variable2', 'variable3')

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

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

#load tips dataset
tips = sns.load_dataset('tips')

#view first five rows of tips dataset
tips.head()

 total_bill tip sex smoker day time size
0 16.99 1.01 Female No Sun Dinner 2
1 10.34 1.66 Male No Sun Dinner 3
2 21.01 3.50 Male No Sun Dinner 3
3 23.68 3.31 Male No Sun Dinner 2
4 24.59 3.61 Female No Sun Dinner 4

Пример 1: создание нескольких графиков

В следующем коде показано, как создать несколько графиков Seaborn на одном рисунке:

#define grid with two plots per row
g = sns.FacetGrid (data=tips, col='day', col_wrap= 2 )

#add histograms to each plot
g. map (sns.histplot , 'tip') 

Вот что мы сделали с этим простым кодом:

  • Указано для группировки по переменной "день"
  • Указано для отображения 2 графиков в строке
  • Указано для отображения гистограммы на каждом графике, которая показывает распределение значений «совета» для каждого конкретного дня.

Пример 2: Создание нескольких графиков с определенной высотой

В следующем коде показано, как создать несколько графиков Seaborn с определенной высотой и соотношением сторон:

#define grid
g = sns.FacetGrid (data=tips, col='day', col_wrap= 2 , height= 4 , aspect= .75 )

#add histograms to each plot
g. map (sns.histplot , 'tip') 

Пример 3: создание нескольких графиков с легендой

В следующем коде показано, как создать несколько графиков Seaborn и добавить легенду:

#define grid
g = sns.FacetGrid (data=tips, col='day', hue='sex', col_wrap= 2 )

#add density plots to each plot
g. map (sns.kdeplot , 'tip')

#add legend
g.add_legend()

Дополнительные ресурсы

Как добавить название к участкам Seaborn
Как изменить положение легенды в Seaborn
Как настроить размер рисунка на графике Seaborn