Panda's: hoe u meerdere dataframes in subplots kunt plotten
U kunt de volgende basissyntaxis gebruiken om meerdere panda’s DataFrames in subplots te plotten:
import matplotlib. pyplot as plt #define subplot layout fig, axes = plt. subplots (nrows= 2 , ncols= 2 ) #add DataFrames to subplots df1. plot (ax=axes[0,0]) df2. plot (ax=axes[0,1]) df3. plot (ax=axes[1,0]) df4. plot (ax=axes[1,1])
Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.
Voorbeeld: meerdere panda-dataframes in subplots plotten
Laten we zeggen dat we vier Panda DataFrames hebben die informatie bevatten over verkopen en retouren bij vier verschillende winkels:
import pandas as pd #create four DataFrames df1 = pd. DataFrame ({' sales ': [2, 5, 5, 7, 9, 13, 15, 17, 22, 24], ' returns ': [1, 2, 3, 4, 5, 6, 7, 8, 7, 5]}) df2 = pd. DataFrame ({' sales ': [2, 5, 11, 18, 15, 15, 14, 9, 6, 7], ' returns ': [1, 2, 0, 2, 2, 4, 5, 4, 2, 1]}) df3 = pd. DataFrame ({' sales ': [6, 8, 8, 7, 8, 9, 10, 7, 8, 12], ' returns ': [1,0, 1, 1, 1, 2, 3, 2, 1, 3]}) df4 = pd. DataFrame ({' sales ': [10, 7, 7, 6, 7, 6, 4, 3, 3, 2], ' returns ': [4, 4, 3, 3, 2, 3, 2, 1, 1, 0]})
We kunnen de volgende syntaxis gebruiken om elk van deze DataFrames in een subplot te plotten met een lay-out van 2 rijen en 2 kolommen:
import matplotlib. pyplot as plt #define subplot layout fig, axes = plt. subplots (nrows= 2 , ncols= 2 ) #add DataFrames to subplots df1. plot (ax=axes[0,0]) df2. plot (ax=axes[0,1]) df3. plot (ax=axes[1,0]) df4. plot (ax=axes[1,1])
Elk van de vier DataFrames wordt weergegeven in een subplot.
Merk op dat we het argument assen hebben gebruikt om aan te geven waar elk DataFrame moet worden geplaatst.
Het DataFrame met de naam df1 werd bijvoorbeeld op de positie geplaatst met een rijindexwaarde van 0 en een kolomindexwaarde van 0 (bijvoorbeeld de subplot in de linkerbovenhoek).
Merk ook op dat u de lay-out van de subplots kunt wijzigen met behulp van de argumenten nrows en ncols .
De volgende code laat bijvoorbeeld zien hoe u subplots in vier rijen en één kolom kunt indelen:
import matplotlib. pyplot as plt #define subplot layout fig, axes = plt. subplots (nrows= 4 , ncols= 1 ) #add DataFrames to subplots df1. plot (ax=axes[0]) df2. plot (ax=axes[1]) df3. plot (ax=axes[2]) df4. plot (ax=axes[3])
Subplots zijn nu gerangschikt in een lay-out met vier rijen en één kolom.
Houd er rekening mee dat als u wilt dat de subplots dezelfde schaal hebben op de y- en x-as, u de argumenten sharey en sharex kunt gebruiken.
De volgende code laat bijvoorbeeld zien hoe u het sharey- argument kunt gebruiken om te forceren dat alle subplots dezelfde schaal op de Y-as hebben:
import matplotlib. pyplot as plt #define subplot layout, force subplots to have same y-axis scale fig, axes = plt. subplots (nrows= 4 , ncols= 1 , sharey= True ) #add DataFrames to subplots df1. plot (ax=axes[0]) df2. plot (ax=axes[1]) df3. plot (ax=axes[2]) df4. plot (ax=axes[3])
Merk op dat de Y-as van elk subplot nu varieert van 0 tot 20.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende bewerkingen in panda’s kunt uitvoeren:
Hoe u een cirkeldiagram maakt vanuit Panda’s DataFrame
Hoe u een puntenwolk maakt vanuit het Pandas DataFrame
Hoe u een histogram maakt van Pandas DataFrame