Grundlegende Liniendiagramme mit Matplotlib

PythonBeginner
Jetzt üben

Einführung

Matplotlib ist eine umfassende Bibliothek zum Erstellen von statischen, animierten und interaktiven Visualisierungen in Python. Sie ist eine der beliebtesten Bibliotheken für die Datenvisualisierung und unverzichtbar für alle Data Scientists oder Analysten, die mit Python arbeiten.

Ein Liniendiagramm ist einer der grundlegendsten und am häufigsten verwendeten Diagrammtypen. Es stellt Informationen als eine Reihe von Datenpunkten dar, die als „Marker“ bezeichnet und durch gerade Liniensegmente verbunden werden. Es wird oft verwendet, um Datentrends über Zeitintervalle – eine Zeitreihe – zu visualisieren, weshalb die Linie häufig in chronologischer Reihenfolge gezeichnet wird.

In diesem Lab lernen Sie, wie Sie von Grund auf ein einfaches Liniendiagramm erstellen. Wir decken den gesamten Prozess ab: Daten vorbereiten, plotten, aussagekräftige Beschriftungen zu den Achsen hinzufügen und schließlich das Diagramm als Bilddatei speichern, die Sie direkt in der LabEx-Umgebung anzeigen können.

X- und Y-Datenlisten vorbereiten

In diesem Schritt bereiten wir die Daten für unser Diagramm vor. Bevor Sie etwas visualisieren können, benötigen Sie Daten. Für ein einfaches 2D-Liniendiagramm brauchen Sie zwei Datensätze: einen für die x-Achse (die horizontale Achse) und einen für die y-Achse (die vertikale Achse).

Wir verwenden Python-Listen, um unsere Daten zu speichern. Lassen Sie uns einen einfachen Datensatz erstellen, der das Bevölkerungswachstum über einige Jahre hinweg darstellt.

Öffnen Sie zunächst die Datei main.py im Verzeichnis ~/project über den Dateimanager auf der linken Seite. Die Datei enthält bereits die erforderliche Import-Anweisung.

Fügen Sie nun den folgenden Code zu main.py hinzu, um zwei Listen (x und y) zu erstellen.

import matplotlib.pyplot as plt

## Data for plotting
x = [2018, 2019, 2020, 2021, 2022]
y = [10, 12, 15, 18, 22]

Hier repräsentiert x die Jahre und y die Bevölkerung in Millionen für das jeweilige Jahr. Diese beiden Listen dienen als Koordinaten für unser Liniendiagramm.

Linie mit plt.plot(x, y) zeichnen

In diesem Schritt verwenden wir die vorbereiteten Daten, um das eigentliche Diagramm zu erstellen. Das pyplot-Modul von Matplotlib, das wir als plt importiert haben, bietet eine Funktion namens plot(), die sich perfekt für diese Aufgabe eignet.

Die Funktion plt.plot() akzeptiert zwei Hauptargumente: die Daten für die x-Achse und die Daten für die y-Achse. Sie zeichnet daraufhin eine Linie, die die durch diese Koordinaten definierten Punkte verbindet.

Fügen Sie die folgende Zeile zu Ihrem main.py-Skript hinzu, direkt nach den Datenlisten, die Sie im vorherigen Schritt erstellt haben.

import matplotlib.pyplot as plt

## Data for plotting
x = [2018, 2019, 2020, 2021, 2022]
y = [10, 12, 15, 18, 22]

## Create the plot
plt.plot(x, y)

Diese einzige Zeile Code weist Matplotlib an, ein Liniendiagramm zu erstellen, bei dem die Listen x und y als Koordinaten verwendet werden. Wenn Sie das Skript jetzt jedoch ausführen, sehen Sie noch nichts. Wir müssen noch Beschriftungen hinzufügen und das Diagramm explizit in einer Datei speichern.

X-Achsenbeschriftung mit plt.xlabel() hinzufügen

In diesem Schritt fügen wir der x-Achse eine Beschriftung hinzu. Ein Diagramm ohne Beschriftungen ist oft bedeutungslos, da der Betrachter nicht weiß, was die Achsen darstellen. Dies ist ein entscheidender Schritt, um klare und informative Visualisierungen zu erstellen.

Matplotlib bietet die Funktion plt.xlabel(), um der x-Achse eine Beschriftung hinzuzufügen. Sie übergeben dieser Funktion einfach die gewünschte Beschriftung als String.

Fügen wir unserem Diagramm die Beschriftung „Year“ (Jahr) hinzu. Ergänzen Sie Ihr main.py-Skript nach dem Aufruf von plt.plot() um die folgende Zeile:

import matplotlib.pyplot as plt

## Data for plotting
x = [2018, 2019, 2020, 2021, 2022]
y = [10, 12, 15, 18, 22]

## Create the plot
plt.plot(x, y)

## Add x-axis label
plt.xlabel("Year")

Nun ist die horizontale Achse unseres Diagramms deutlich als „Year“ gekennzeichnet.

Y-Achsenbeschriftung mit plt.ylabel() hinzufügen

In diesem Schritt fügen wir der y-Achse eine Beschriftung hinzu und vervollständigen damit die grundlegende Beschriftung unseres Diagramms. Genau wie die x-Achse benötigt auch die y-Achse eine aussagekräftige Beschriftung, damit Betrachter die Daten verstehen können.

Die Funktion dafür ist plt.ylabel(), die genau wie plt.xlabel() funktioniert. Sie übergeben den Beschriftungstext als String.

Fügen wir unserem Diagramm die Beschriftung „Population“ hinzu. Fügen Sie die folgende Zeile direkt nach dem Aufruf von plt.xlabel() in Ihr main.py-Skript ein:

import matplotlib.pyplot as plt

## Data for plotting
x = [2018, 2019, 2020, 2021, 2022]
y = [10, 12, 15, 18, 22]

## Create the plot
plt.plot(x, y)

## Add x-axis label
plt.xlabel("Year")

## Add y-axis label
plt.ylabel("Population (in millions)")

Da nun beide Achsen beschriftet sind, ist unser Diagramm wesentlich verständlicher geworden.

Diagramm mit plt.show() anzeigen

In diesem Schritt generieren und betrachten wir unser Diagramm. In einer typischen Desktop-Umgebung würden Sie wahrscheinlich plt.show() verwenden, um das Diagramm in einem neuen Fenster anzuzeigen. In einer webbasierten Umgebung wie LabEx können wir jedoch keine GUI-Fenster öffnen.

Stattdessen speichern wir das Diagramm mithilfe der Funktion plt.savefig() als Bilddatei. Diese Funktion speichert die aktuelle Abbildung (Figure) in einer Datei in Ihrem Projektverzeichnis.

Fügen Sie die folgende Zeile ans Ende Ihres main.py-Skripts ein. Dadurch wird das Diagramm als PNG-Bild namens line_plot.png gespeichert.

import matplotlib.pyplot as plt

## Data for plotting
x = [2018, 2019, 2020, 2021, 2022]
y = [10, 12, 15, 18, 22]

## Create the plot
plt.plot(x, y)

## Add x-axis label
plt.xlabel("Year")

## Add y-axis label
plt.ylabel("Population (in millions)")

## Save the plot to a file
plt.savefig("line_plot.png")

Öffnen Sie nun ein Terminal in der WebIDE (Sie können das +-Symbol im Terminal-Bereich oder das Menü Terminal > New Terminal verwenden). Führen Sie Ihr Skript mit dem folgenden Befehl aus:

python3 main.py

Nachdem der Befehl abgeschlossen ist, sehen Sie eine neue Datei namens line_plot.png im Dateimanager auf der linken Seite. Doppelklicken Sie auf line_plot.png, um sie zu öffnen und Ihr fertiges Liniendiagramm zu betrachten!

Line plot

Zusammenfassung

Herzlichen Glückwunsch! Sie haben erfolgreich Ihr erstes Liniendiagramm mit Matplotlib erstellt und gespeichert.

In diesem Lab haben Sie den grundlegenden Arbeitsablauf zur Erstellung eines einfachen Diagramms kennengelernt:

  1. Daten vorbereiten: Sie haben Python-Listen erstellt, um die Daten für Ihre x- und y-Achse zu speichern.
  2. Daten plotten: Sie haben plt.plot() verwendet, um das Liniendiagramm aus Ihren Daten zu generieren.
  3. Beschriftungen hinzufügen: Sie haben das Diagramm aussagekräftig gemacht, indem Sie Beschriftungen mit plt.xlabel() und plt.ylabel() hinzugefügt haben.
  4. Diagramm speichern: Sie haben gelernt, wie Sie plt.savefig() verwenden, um Ihre Visualisierung in einer Datei zu speichern – was in Umgebungen ohne grafische Benutzeroberfläche unerlässlich ist.

Dies ist erst der Anfang dessen, was Sie mit Matplotlib tun können. Sie können auf diesen Fähigkeiten aufbauen, um komplexere und individuellere Visualisierungen zu erstellen. Viel Spaß beim weiteren Entdecken!