gtan-Blog

Modulvorstellung matplotlib - Teil 1

None

Allgemein

matplotlib ist eine Bibliothek für Python, welche Funktionen zur Darstellung von Daten anbietet. Es bietet hierbei eine Vielzahl an Darstellungsformen an, beispielsweise Graphen, Diagramme, Histogramme oder auch Bilder.

Den Code der in diesem Artikel verwendet wird, kann auch aus GitHub entnommen werden. Es bietet ebenso etwa die Möglichkeit einfach Bilder zu laden sowie abzuspeichern. Naja lasst uns direkt mal in das Modul starten, beginnen wir mit der Visualisierung von Punkten.

Anmerkung: Wir importieren das Modul mit einem Alias import matplotlib.pyplot as plt . Solltet ihr das Modul andwerweitig importieren müsst ihr den Alias entsprechend anpassen.

Visualisierung von Punkten (2D)

Die vermutlich einfachste Darstellungsform stellt das Plotten von Punkten da. Hierzu erstellen wir uns einfach mal 2 Listen, je eine für die X und eine für die Y-Achse.

xAxis = [1,2,3,4,5,6,7,8,9]
yAxis = [23,45,6,67,6,98,90,23,23]

plt.plot(xAxis, yAxis)
plt.show()

Das Ergebnis sieht wie folgt aus:  

Dabei wird man auch schnell erkennen, dass matplotlib die Achsen abhängig von den Werten die Achsen in einer dynamischen Größe generiert. Diese lassen sich mit xlim bzw ylim einstellen:

plt.ylim(0,400)
plt.xlim(0,10)

Zur weiteren Übersicht kann es ebenso nützlich sein ein Raster in den Plot einzufügen.

plt.grid()

Ebenso nützlich kann es sein, dass die Labels des Plottes angepasst werden soll. Dies ist mittels 

plt.xticks([4,9], [5,10])

möglich. Die Funktion erwartet eine Liste der Position an der das Label angezeigt werden soll und die anzuzeigenden Werte.

Weitere Darstellungsmöglichkeiten sind etwa die Beschriftung der Achsen mittels

plt.ylabel("Y-Achse")
plt.xlabel("X-Achse")

Ebenso bietet es sich an, sofern mehere Plots sich in einem Graphen befinden eine Legende zu erstellen. Hierzu muss jedoch beim Erstellen des Plots ein Label mitgegeben werden.

plt.plot(xAxis, yAxis, label="Graph")
plt.legend()

Wer noch eine Überschrift über seinen Plot packen will, kann dies mit der Funktion

plt.title("Mein Graph")

tun. Es gibt jedoch noch unzählige weitere Möglichkeiten den Plot zu konfigurieren, von Schrägstellung der Achsenbeschriftung, über Farbeinstellungen bishin zu Notationen der Beschriftungen (wissentschaftliche Schreibweise, ...). Auf diese möchte ich hier gar nicht näher eingehen und könnt ihr aus der matplotlib eigenen Doku entnehmen.

Teil 2

Für diesen Teil soll es das auch schon gewesen sein, einen Fortsetzung zu matplotlib folgt bald. Da soll es dann darum gehen, wie mehrere Plots dargestellt werden können, sowie andre Darstellungsformen für Daten, wie etwa eine Punktewolke. Also bleibt gespannt.