So ändern sie die reihenfolge der elemente in der matplotlib-legende


Sie können den folgenden Code verwenden, um die Reihenfolge der Elemente in einer Matplotlib-Legende zu ändern:

 #get handles and labels
handles, labels = plt. gca (). get_legend_handles_labels ()

#specify order of items in legend
order = [1,2,0]

#add legend to plot
plt. legend ([handles[idx] for idx in order],[labels[idx] for idx in order])

Das folgende Beispiel zeigt, wie diese Syntax in der Praxis verwendet wird.

Beispiel: Ändern Sie die Reihenfolge der Elemente in der Matplotlib-Legende

Angenommen, wir erstellen das folgende Liniendiagramm in Matplotlib:

 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],
                   'rebounds': [6, 8, 8, 10, 14, 12, 12, 10, 11]})

#add lines to plot
plt. plot (df['points'], label='Points', color='green')
plt. plot (df['assists'], label='Assists', color='steelblue')
plt. plot (df['rebounds'], label='Rebounds', color='purple')

#add legend
plt. legend () 

Die Legendenelemente werden in der Reihenfolge platziert, in der wir die Linien zum Plot hinzugefügt haben.

Wir können jedoch die folgende Syntax verwenden, um die Reihenfolge der Elemente in der Legende anzupassen:

 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],
                   'rebounds': [6, 8, 8, 10, 14, 12, 12, 10, 11]})

#add lines to plot
plt. plot (df['points'], label='Points', color='green')
plt. plot (df['assists'], label='Assists', color='steelblue')
plt. plot (df['rebounds'], label='Rebounds', color='purple')

#get handles and labels
handles, labels = plt. gca (). get_legend_handles_labels ()

#specify order of items in legend
order = [1,2,0]

#add legend to plot
plt. legend ([handles[idx] for idx in order],[labels[idx] for idx in order]) 

Reihenfolge der Matplotlib-Legenden

Beachten Sie, dass wir Folgendes angegeben haben:

  • Ordnung = [1, 2, 0]

Das bedeutet:

  • Das erste Element in der Legende sollte die Beschriftung sein, die sich ursprünglich an Indexposition 1 der alten Legende befand („Hilfe“).
  • Das zweite Element der Legende sollte die Beschriftung sein, die sich ursprünglich an Indexposition 2 der alten Legende befand („Bounces“).
  • Das dritte Element der Legende muss die Beschriftung sein, die sich ursprünglich an Indexposition 0 der alten Legende befand („Punkte“).

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 Position einer Legende in Matplotlib
So platzieren Sie eine Legende außerhalb eines Matplotlib-Plots
So ändern Sie die Schriftgröße der Legende in Matplotlib

Einen Kommentar hinzufügen

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