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

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert