Hoe de legenda buiten een matplotlib-plot te plaatsen
Vaak wilt u de legenda van een Matplotlib-plot buiten het eigenlijke plot plaatsen.
Gelukkig is dit eenvoudig te doen met behulp van de functie matplotlib.pyplot.legend() in combinatie met het bbox_to_anchor argument.
Deze tutorial toont verschillende voorbeelden van praktisch gebruik van deze functie.
Voorbeeld 1: Plaats het onderschrift in de rechterbovenhoek
De volgende code laat zien hoe u de legenda in de rechterbovenhoek plaatst, buiten een Matplotlib-plot:
import matplotlib.pyplot as plt #createplot plt. subplot (211) plt. plot ([2, 4, 6], label=" First Data ") plt. plot ([6, 4, 2], label=" Second Data ") #place legend in top right corner plt. legend (bbox_to_anchor=(1,1), loc=" upper left ") #showplot plt. show ()
Merk op dat het loc- argument Matplotlib vertelt om de linkerbovenhoek van de legendalijn op de (x,y)-coördinaten van (1,1) in de plot te plaatsen.
Voorbeeld 2: Plaats het onderschrift in de rechter benedenhoek
De volgende code laat zien hoe u de legenda in de rechter benedenhoek plaatst, buiten een Matplotlib-plot:
import matplotlib.pyplot as plt #createplot plt. subplot (211) plt. plot ([2, 4, 6], label=" First Data ") plt. plot ([6, 4, 2], label=" Second Data ") #place legend in top right corner plt. legend (bbox_to_anchor=(1,0), loc=" lower left ") #showplot plt. show ()
Merk op dat het loc- argument Matplotlib vertelt om de linkerbenedenhoek van de legendalijn op de (x,y)-coördinaten van (1,0) in de plot te plaatsen.
Voorbeeld 3: Plaats de legenda boven de plot
De volgende code laat zien hoe u de legenda boven de Matplotlib-plot plaatst:
import matplotlib.pyplot as plt #createplot plt. subplot (211) plt. plot ([2, 4, 6], label=" First Data ") plt. plot ([6, 4, 2], label=" Second Data ") #place legend above plot plt. legend (bbox_to_anchor=(0, 1, 1, 0), loc=" lower left ", mode=" expand ", ncol= 2 ) #showplot plt. show ()
Merk op dat het mode- argument Matplotlib vertelt om de legenda uit te breiden tot de lengte van de plot en dat het ncol- argument Matplotlib vertelt om de legendalabels in 2 kolommen te plaatsen.
We kunnen ook de argumenten mode en ncol weglaten als we de legenda alleen in de linkerbovenhoek boven de plot willen plaatsen:
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in Matplotlib kunt uitvoeren:
Hoe de lettergrootte op een Matplotlib-plot te wijzigen
Hoe teken uit Matplotlib-plots te verwijderen
Hoe rasterlijnen op Matplotlib-plots worden weergegeven