Erstellen von Matplotlib-Legenden für die Datenvisualisierung

Beginner

This tutorial is from open-source community. Access the source code

Einführung

Beim Datenvisualisierung helfen Legenden dem Betrachter zu verstehen, was er betrachtet. Legenden in Matplotlib sind Beschriftungen, die die Elemente eines Graphen beschreiben. In diesem Tutorial wird gezeigt, wie man Legenden für eine Matplotlib Figur erstellt.

VM Tipps

Nachdem der VM-Start abgeschlossen ist, klicken Sie in der oberen linken Ecke, um zur Registerkarte Notebook zu wechseln und Jupyter Notebook für die Übung zu nutzen.

Manchmal müssen Sie einige Sekunden warten, bis Jupyter Notebook vollständig geladen ist. Die Validierung von Operationen kann aufgrund von Einschränkungen in Jupyter Notebook nicht automatisiert werden.

Wenn Sie während des Lernens Probleme haben, können Sie Labby gerne fragen. Geben Sie nach der Sitzung Feedback, und wir werden das Problem für Sie prompt beheben.

Importieren der erforderlichen Bibliotheken

Zunächst müssen wir die erforderlichen Bibliotheken importieren - NumPy und Matplotlib. NumPy ist eine Python-Bibliothek, die zur Arbeit mit Arrays verwendet wird, während Matplotlib eine Datenvisualisierungsbibliothek ist.

import matplotlib.pyplot as plt
import numpy as np

Erstellen eines einfachen Plots

Um einen einfachen Plot zu erstellen, müssen wir die x- und y-Werte definieren und sie dann mit plt.plot() plotten. Hier werden wir zwei Sinuswellen plotten.

x = np.arange(0.0, 2.0, 0.02)
y1 = np.sin(2 * np.pi * x)
y2 = np.sin(4 * np.pi * x)

plt.plot(x, y1, label='sin(2pix)')
plt.plot(x, y2, label='sin(4pix)')

Hinzufügen einer Legende

Um einer Grafik eine Legende hinzuzufügen, verwenden wir die plt.legend()-Funktion. Wir können die Beschriftungen für jede Linie als Liste von Zeichenketten an den labels-Parameter der Funktion übergeben.

plt.legend(labels=['sin(2pix)', 'sin(4pix)'])

Anpassen der Legende

Wir können die Legende anpassen, indem wir ihre Position, Schriftgröße und andere Parameter ändern. Um die Position der Legende zu ändern, verwenden wir den loc-Parameter. Wir können auch die Schriftgröße mit dem fontsize-Parameter ändern.

plt.legend(labels=['sin(2pix)', 'sin(4pix)'], loc='lower right', fontsize='large')

Erstellen einer Legende für Teilplots

Wenn wir Teilplots erstellen, können wir eine Legende für alle Teilplots erstellen, indem wir die fig.legend()-Funktion verwenden. Hier werden wir zwei Teilplots erstellen und auf jedem Teilplot zwei Linien plotten.

fig, axs = plt.subplots(1, 2)

x = np.arange(0.0, 2.0, 0.02)
y1 = np.sin(2 * np.pi * x)
y2 = np.exp(-x)
l1, = axs[0].plot(x, y1)
l2, = axs[0].plot(x, y2, marker='o')

y3 = np.sin(4 * np.pi * x)
y4 = np.exp(-2 * x)
l3, = axs[1].plot(x, y3, color='tab:green')
l4, = axs[1].plot(x, y4, color='tab:red', marker='^')

fig.legend((l1, l2), ('Line 1', 'Line 2'), loc='upper left')
fig.legend((l3, l4), ('Line 3', 'Line 4'), loc='upper right')

Legende außerhalb der Achsen platzieren

Manchmal möchten wir, dass die Legende außerhalb der Achsen platziert wird. Wir können den loc-Parameter verwenden, um die Position der Legende außerhalb der Achsen anzugeben.

fig, axs = plt.subplots(1, 2, layout='constrained')

x = np.arange(0.0, 2.0, 0.02)
y1 = np.sin(2 * np.pi * x)
y2 = np.exp(-x)
l1, = axs[0].plot(x, y1)
l2, = axs[0].plot(x, y2, marker='o')

y3 = np.sin(4 * np.pi * x)
y4 = np.exp(-2 * x)
l3, = axs[1].plot(x, y3, color='tab:green')
l4, = axs[1].plot(x, y4, color='tab:red', marker='^')

fig.legend((l1, l2), ('Line 1', 'Line 2'), loc='upper left')
fig.legend((l3, l4), ('Line 3', 'Line 4'), loc='outside right upper')

Zusammenfassung

In diesem Tutorial haben wir gelernt, wie man Legenden für Matplotlib-Grafiken erstellt. Wir haben gesehen, wie man einen einfachen Plot erstellt, eine Legende hinzufügt, die Legende anpasst, eine Legende für Teilplots erstellt und die Legende außerhalb der Achsen platziert. Legenden sind ein wichtiger Aspekt der Datenvisualisierung, und das Wissen, wie man sie erstellt, ist ein essentielles Skill für jeden Data Scientist oder Analyst.