Hoe de positie van een legenda in matplotlib te veranderen
Om de positie van een legenda in Matplotlib te wijzigen, kunt u de functie plt.legend() gebruiken.
U kunt bijvoorbeeld de volgende syntaxis gebruiken om de legenda in de linkerbovenhoek van de plot te plaatsen:
plt. legend (loc=' upper left ')
De standaardlocatie is “beste” – dit is waar Matplotlib automatisch een locatie voor de legenda vindt op basis van waar datapunten worden vermeden.
U kunt echter een van de volgende ondertitelingslocaties opgeven:
- Rechtsboven
- linksboven in de hoek
- linksonder
- rechtsonder
- RECHTS
- midden links
- Centrum-rechts
- middenonder
- midden boven
- centrum
U kunt ook het argument bbox_to_anchor() gebruiken om de legenda buiten de plot te plaatsen. U kunt bijvoorbeeld de volgende syntaxis gebruiken om de legenda in de rechterbovenhoek, buiten de plot, te plaatsen:
plt. legend (bbox_to_anchor=( 1.05 , 1 ), loc=' upper left ', borderaxespad= 0 )
De volgende voorbeelden laten zien hoe u elk van deze methoden in de praktijk kunt gebruiken.
Voorbeeld 1: verander de positie van de legenda binnen de Matplotlib-plot
De volgende code laat zien hoe u de legenda in het midden rechts van een Matplotlib-lijnplot plaatst:
import pandas as pd import matplotlib. pyplot as plt #createdata df = pd. DataFrame ({' points ': [11, 17, 16, 18, 22, 25, 26, 24, 29], ' assists ': [5, 7, 7, 9, 12, 9, 9, 4, 8]}) #add lines to plot plt. plot (df[' points '], label=' Points ', color=' green ') plt. plot (df[' assists '], label=' Assists ', color=' steelblue ') #place legend in center right of plot plt. legend (loc=' center right ', title=' Metric ')
En de volgende code laat zien hoe u de legenda linksboven in een Matplotlib-plot plaatst:
import pandas as pd import matplotlib. pyplot as plt #create data df = pd. DataFrame ({' points ': [11, 17, 16, 18, 22, 25, 26, 24, 29], ' assists ': [5, 7, 7, 9, 12, 9, 9, 4, 8]}) #add lines to plot plt. plot (df[' points '], label=' Points ', color=' green ') plt. plot (df[' assists '], label=' Assists ', color=' steelblue ') #place legend in center right of plot plt. legend (loc=' upper left ', title=' Metric ')
Voorbeeld 2: Wijzig de positie van de legenda buiten de Matplotlib-plot
Om de legenda buiten een Matplotlib-plot te plaatsen, kunnen we het argument bbox_to_anchor() gebruiken.
Zo plaatst u de legenda bijvoorbeeld buiten de rechterbovenhoek van de plot:
import pandas as pd import matplotlib. pyplot as plt #create data df = pd. DataFrame ({' points ': [11, 17, 16, 18, 22, 25, 26, 24, 29], ' assists ': [5, 7, 7, 9, 12, 9, 9, 4, 8]}) #add lines to plot plt. plot (df[' points '], label=' Points ', color=' green ') plt. plot (df[' assists '], label=' Assists ', color=' steelblue ') #place legend in center right of plot plt. legend (bbox_to_anchor=( 1.02 , 1 ), loc=' upper left ', borderaxespad= 0 )
En zo plaats je de legenda buiten de rechteronderhoek van de plot:
import pandas as pd import matplotlib. pyplot as plt #create data df = pd. DataFrame ({' points ': [11, 17, 16, 18, 22, 25, 26, 24, 29], ' assists ': [5, 7, 7, 9, 12, 9, 9, 4, 8]}) #add lines to plot plt. plot (df[' points '], label=' Points ', color=' green ') plt. plot (df[' assists '], label=' Assists ', color=' steelblue ') #place legend in center right of plot plt. legend (bbox_to_anchor=( 1.02 , 0.1 ), loc=' upper left ', borderaxespad= 0 )
Raadpleeg de matplotlib-documentatie voor een gedetailleerde uitleg van het bbox_to_anchor()- argument.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende bewerkingen in Matplotlib kunt uitvoeren:
Hoe de lettergrootte van de legenda in Matplotlib te wijzigen
Hoe u een titel aan de legenda in Matplotlib toevoegt
Hoe de titelpositie in Matplotlib aan te passen
Hoe de aslabelpositie in Matplotlib aan te passen