Subplots maken in seaborn (met voorbeelden)
U kunt de volgende basissyntaxis gebruiken om subplots te maken in de Seaborn- gegevensvisualisatiebibliotheek in 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])
...
Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.
Voorbeeld: subplots maken in Seaborn
Stel dat we de volgende panda’s DataFrame hebben:
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
De volgende code laat zien hoe u een plotgebied met twee rijen en twee kolommen definieert en in elke subplot een boxplot maakt voor elk van de vier numerieke variabelen in het 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])
In dit voorbeeld hebben we een plotgebied gemaakt met twee rijen en twee kolommen en elke subplot gevuld met boxplots.
We kunnen echter een vergelijkbare syntaxis gebruiken om een plotgebied met verschillende dimensies te maken en de subplots met verschillende grafieken te vullen.
De volgende code laat bijvoorbeeld zien hoe u een plotgebied maakt met één rij en twee kolommen en elke plot vult met een vioolplot:
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])
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende functies in Seaborn kunt uitvoeren:
Een titel toevoegen aan Seaborn-plots
Hoe u de Seaborn-plot in een bestand kunt opslaan
Hoe de positie van een legende in Seaborn te veranderen