Legenden sind essentiell für eine übersichtliche Datenvisualisierung, können aber manchmal das Diagramm überladen. Matplotlib bietet verschiedene Möglichkeiten zum Verwalten von Legenden, sodass Sie diese vollständig entfernen oder einfach für eine klarere Darstellung ausblenden können. Dieser Leitfaden untersucht vier effektive Techniken.
Inhaltsverzeichnis
- Direktes Entfernen der Legende
- Ausblenden der Legende
- Verhindern der Legendenerstellung
- Entfernen der Legende über Attributzuweisung
1. Direktes Entfernen der Legende
Dieser Ansatz verwendet matplotlib.axes.Axes.get_legend().remove()
, um die Legende nach ihrer Erstellung zu entfernen. Es ist unkompliziert und hinterlässt keine Spuren.
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax.plot([1, 2, 3], [4, 5, 6], label='Line 1')
ax.plot([1, 2, 3], [7, 8, 9], label='Line 2')
legend = ax.legend() # Legende erstellen
legend.remove() # Entfernen
plt.show()
2. Ausblenden der Legende
matplotlib.axes.Axes.get_legend().set_visible(False)
bietet mehr Kontrolle. Die Legende verbleibt im Speicher und kann später mit set_visible(True)
wieder angezeigt werden.
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax.plot([1, 2, 3], [4, 5, 6], label='Line 1')
ax.plot([1, 2, 3], [7, 8, 9], label='Line 2')
legend = ax.legend()
legend.set_visible(False)
plt.show()
3. Verhindern der Legendenerstellung
Die effizienteste Methode ist, die Legendenerstellung zu verhindern. Verwenden Sie label='nolegend'
(oder eine beliebige ungenutzte Bezeichnung) innerhalb der plot()
-Funktion.
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax.plot([1, 2, 3], [4, 5, 6], label='nolegend')
ax.plot([1, 2, 3], [7, 8, 9], label='nolegend')
plt.show()
4. Entfernen der Legende über Attributzuweisung
Durch direktes Setzen des legend_
-Attributs des Axes-Objekts auf None
wird jede vorhandene Legende entfernt und die zukünftige Erstellung verhindert.
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax.plot([1, 2, 3], [4, 5, 6], label='Line 1')
ax.plot([1, 2, 3], [7, 8, 9], label='Line 2')
ax.legend_ = None
plt.show()
Die Wahl der richtigen Methode hängt von Ihren Bedürfnissen ab. Für das sofortige Entfernen sind die Methoden 1 und 4 effizient. Für eine mögliche erneute Anzeige ist Methode 2 am besten geeignet. Das Verhindern der Erstellung (Methode 3) ist optimal, wenn Sie wissen, dass eine Legende nicht notwendig ist.