Matplotlib: Grundlegende Liniendiagramme

MatplotlibMatplotlibBeginner
Jetzt üben

Einleitung

Matplotlib ist eine umfassende Bibliothek zur Erstellung statischer, animierter und interaktiver Visualisierungen in Python. Es ist eine der beliebtesten Bibliotheken für Datenvisualisierung und unerlässlich für jeden Data Scientist oder Analysten, der mit Python arbeitet.

Ein Liniendiagramm (line plot) ist eine der grundlegendsten und am weitesten verbreiteten Diagrammtypen. Es stellt Informationen als eine Reihe von Datenpunkten, sogenannten 'Markern', dar, die durch gerade Liniensegmente verbunden sind. Es wird oft verwendet, um einen Trend in Daten über Zeitintervalle – eine Zeitreihe (time series) – zu visualisieren, daher wird die Linie oft chronologisch gezeichnet.

In diesem Lab lernen Sie, wie Sie ein einfaches Liniendiagramm von Grund auf erstellen. Wir werden den gesamten Prozess abdecken: Vorbereitung der Daten, deren Darstellung (Plotting), Hinzufügen von beschreibenden Beschriftungen zu den Achsen und schließlich das Speichern des Diagramms als Bilddatei, die Sie direkt in der LabEx-Umgebung anzeigen können.

Dies ist ein Guided Lab, das schrittweise Anweisungen bietet, um Ihnen beim Lernen und Üben zu helfen. Befolgen Sie die Anweisungen sorgfältig, um jeden Schritt abzuschließen und praktische Erfahrungen zu sammeln. Historische Daten zeigen, dass dies ein Labor der Stufe Anfänger mit einer Abschlussquote von 84% ist. Es hat eine positive Bewertungsrate von 100% von den Lernenden erhalten.

Vorbereitung der x- und y-Datenlisten

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 benötigen 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. Erstellen wir einen einfachen Datensatz, der das Bevölkerungswachstum über einige Jahre darstellt.

Öffnen Sie zuerst die Datei main.py im Verzeichnis ~/project über den Dateiexplorer auf der linken Seite. Die Datei enthält bereits die notwendige Importanweisung.

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 jedes entsprechende Jahr. Diese beiden Listen dienen als Koordinaten für unser Liniendiagramm.

Plotten einer Linie mit plt.plot(x, y)

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

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

Fügen Sie diese 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 einzelne Codezeile weist Matplotlib an, ein Liniendiagramm unter Verwendung der Listen x und y als Koordinaten zu erstellen. Wenn Sie das Skript jetzt ausführen, sehen Sie jedoch noch nichts. Wir müssen noch Beschriftungen hinzufügen und das Diagramm explizit in einer Datei speichern.

Hinzufügen einer x-Achsenbeschriftung mit plt.xlabel()

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 Teil der Erstellung klarer und informativer Visualisierungen.

Matplotlib stellt die Funktion plt.xlabel() zur Verfügung, um der x-Achse eine Beschriftung hinzuzufügen. Sie übergeben einfach die gewünschte Beschriftung als String an diese Funktion.

Fügen wir unserem Diagramm eine Beschriftung für das 'Jahr' hinzu. Fügen Sie diese Zeile zu Ihrem main.py-Skript nach dem plt.plot()-Aufruf hinzu.

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 wird die horizontale Achse unseres Diagramms deutlich als 'Year' (Jahr) gekennzeichnet sein.

Hinzufügen einer y-Achsenbeschriftung mit plt.ylabel()

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 beschreibende Beschriftung, damit die 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 eine Beschriftung für 'Population' hinzu. Fügen Sie diese Zeile zu Ihrem main.py-Skript hinzu, direkt nach dem plt.xlabel()-Aufruf.

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)")

Mit beiden beschrifteten Achsen ist unser Diagramm nun wesentlich verständlicher.

Plot anzeigen mit plt.show()

In diesem letzten Schritt generieren und betrachten wir unser Diagramm. In einer typischen Desktop-Umgebung würden Sie 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 mit der Funktion plt.savefig() in einer Bilddatei. Diese Funktion speichert die aktuelle Abbildung in einer Datei in Ihrem Projektverzeichnis.

Fügen Sie die folgende Zeile am Ende Ihres main.py-Skripts hinzu. Dies speichert das Diagramm als PNG-Bild mit dem Namen line_plot.png.

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-Panel 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 Dateiexplorer auf der linken Seite. Doppelklicken Sie auf line_plot.png, um sie zu öffnen und Ihren fertigen Liniendiagramm anzuzeigen!

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-Achsen 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 durch Hinzufügen von Beschriftungen mit plt.xlabel() und plt.ylabel() informativ gestaltet.
  4. Diagramm speichern: Sie haben gelernt, plt.savefig() zu verwenden, um Ihre Visualisierung in einer Datei zu speichern, was in Umgebungen ohne GUI unerlässlich ist.

Dies ist erst der Anfang dessen, was Sie mit Matplotlib tun können. Sie können nun auf diesen Fähigkeiten aufbauen, um komplexere und individuellere Visualisierungen zu erstellen. Erkunden Sie weiter!

Morty Proxy This is a proxified and sanitized view of the page, visit original site.