Как создать подсюжеты в seaborn (с примерами)
Вы можете использовать следующий базовый синтаксис для создания подграфиков в библиотеке визуализации данных Seaborn на Python:
#define dimensions of subplots (rows, columns)
fig, axes = plt. subplots (2, 2)
#create chart in each subplot
sns. boxplot (data=df, x=' team ', y=' points ', ax=axes[0,0])
sns. boxplot (data=df, x=' team ', y=' assists ', ax=axes[0,1])
...
В следующем примере показано, как использовать этот синтаксис на практике.
Пример: создание подсюжетов в Seaborn
Предположим, у нас есть следующий DataFrame pandas:
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'], ' points ': [19, 12, 15, 14, 19, 23, 25, 29], ' assists ': [13, 15, 11, 8, 6, 8, 11, 14], ' rebounds ': [11, 7, 8, 12, 13, 7, 6, 8], ' blocks ': [1, 2, 2, 3, 5, 4, 3, 3]}) #view DataFrame print (df) team points assists rebounds blocks 0 A 19 13 11 1 1 A 12 15 7 2 2 A 15 11 8 2 3 A 14 8 12 3 4 B 19 6 13 5 5 B 23 8 7 4 6 B 25 11 6 3 7 B 29 14 8 3
В следующем коде показано, как определить область графика с двумя строками и двумя столбцами и создать коробчатую диаграмму в каждом подграфике для каждой из четырех числовых переменных в DataFrame:
import matplotlib. pyplot as plt import seaborn as sns #set seaborn plotting aesthetics as default sns. set () #define plotting region (2 rows, 2 columns) fig, axes = plt. subplots (2, 2) #create boxplot in each subplot sns. boxplot (data=df, x=' team ', y=' points ', ax=axes[0,0]) sns. boxplot (data=df, x=' team ', y=' assists ', ax=axes[0,1]) sns. boxplot (data=df, x=' team ', y=' rebounds ', ax=axes[1,0]) sns. boxplot (data=df, x=' team ', y=' blocks ', ax=axes[1,1])
В этом примере мы создали область графика с двумя строками и двумя столбцами и заполнили каждый подграфик коробчатыми диаграммами.
Однако мы можем использовать аналогичный синтаксис для создания области графика разных размеров и заполнения подграфиков разными графиками.
Например, следующий код показывает, как создать область графика с одной строкой и двумя столбцами и заполнить каждый график сюжетом скрипки:
import matplotlib. pyplot as plt import seaborn as sns #set seaborn plotting aesthetics as default sns. set () #define plotting region (1 row, 2 columns) fig, axes = plt. subplots (1, 2) #create boxplot in each subplot sns. violinplot (data=df, x=' team ', y=' points ', ax=axes[0]) sns. violinplot (data=df, x=' team ', y=' assists ', ax=axes[1])
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные функции в seaborn:
Как добавить заголовок к участкам Seaborn
Как сохранить график Сиборна в файл
Как изменить положение легенды в Seaborn