So ändern sie die position einer legende in matplotlib


Um die Position einer Legende in Matplotlib zu ändern, können Sie die Funktion plt.legend() verwenden.

Sie können beispielsweise die folgende Syntax verwenden, um die Legende in der oberen linken Ecke des Diagramms zu platzieren:

 plt. legend (loc=' upper left ')

Der Standardspeicherort ist „best“ – hier findet Matplotlib automatisch einen Speicherort für die Legende, basierend darauf, wo Datenpunkte nicht abgedeckt werden.

Sie können jedoch einen der folgenden Beschriftungsorte angeben:

  • Oben rechts
  • in der oberen Ecke links
  • unten links
  • unten rechts
  • RECHTS
  • Mitte links
  • Mitte-rechts
  • unten in der Mitte
  • oben in der Mitte
  • Center

Sie können auch das Argument bbox_to_anchor() verwenden, um die Legende außerhalb des Plots zu platzieren. Sie können beispielsweise die folgende Syntax verwenden, um die Legende in der oberen rechten Ecke außerhalb des Diagramms zu platzieren:

 plt. legend (bbox_to_anchor=( 1.05 , 1 ), loc=' upper left ', borderaxespad= 0 )

Die folgenden Beispiele zeigen, wie jede dieser Methoden in der Praxis angewendet werden kann.

Beispiel 1: Ändern Sie die Position der Legende innerhalb des Matplotlib-Plots

Der folgende Code zeigt, wie die Legende im rechten mittleren Teil eines Matplotlib-Liniendiagramms platziert wird:

 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 ') 

Und der folgende Code zeigt, wie die Legende oben links in einem Matplotlib-Plot platziert wird:

 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 ') 

Beispiel 2: Ändern Sie die Position der Legende außerhalb des Matplotlib-Plots

Um die Legende außerhalb eines Matplotlib-Plots zu platzieren, können wir das Argument bbox_to_anchor() verwenden.

So platzieren Sie beispielsweise die Legende außerhalb der oberen rechten Ecke des Diagramms:

 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 )

Und so platzieren Sie die Legende außerhalb der unteren rechten Ecke des Diagramms:

 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 ) 

Eine ausführliche Erläuterung des Arguments bbox_to_anchor() finden Sie in der Matplotlib-Dokumentation .

Zusätzliche Ressourcen

In den folgenden Tutorials wird erläutert, wie Sie andere gängige Vorgänge in Matplotlib ausführen:

So ändern Sie die Schriftgröße der Legende in Matplotlib
So fügen Sie der Legende in Matplotlib einen Titel hinzu
So passen Sie die Titelposition in Matplotlib an
So passen Sie die Position der Achsenbeschriftung in Matplotlib an

Einen Kommentar hinzufügen

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