Data Visualization

Matplotlib Legenden meistern: Entfernen und Steuern

Spread the love

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

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.

Schreibe einen Kommentar

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