Einführung in matplotlib

In den bisher veröffentlichten Tutorials zur Datenvisualisierung mit Python 3 habe ich häufig die Bibliothek matplotlib verwendet, ohne im Detail auf dieses weit verbreitete Modul einzugehen. Dies hole ich — beginnend mit diesem ersten Beitrag — jetzt nach. Im ersten Teil geht es dabei um die Installation von matplotlib und die Erstellung einer einfachen Grafik. Hinsichtlich der folgenden Ausführungen wird davon ausgegangen, dass Python 3 auf Eurem Betriebssystem bereits installiert ist, und zwar die Version von der Internetseite des Python-Projekts oder mithilfe des Visual Studio Installers (nur Windows).

Installation unter Linux

Unter Linux-Distributionen, die auf debian basieren, kann apt-get verwendet werden.

sudo apt-get install python3-matplotlib

Das gilt zumindest dann, wenn Ihr die vom Paketmanager Eurer Linux-Distribution vorgeschlagene Python-Version verwendet.

Solltet Ihr Python hingegen von der Internetseite des Python-Projekts bezogen haben, dann hilft pip weiter.

pip3 install matplotlib

Installation unter macOS

Auf Mac-Rechnern ist standardmäßig Python in Version 2 installiert. Nachdem Ihr das Installationspaket von der Internetseite des Python-Projekts installiert habt, steht Euch auch Python 3 zur Verfügung. Anstelle von pip muss dann — für Python 3 — pip3 verwendet werden:

pip3 install matplotlib

Hinweis: Nach der Installation von Python 3 sollte diese Installations-Anweisung problemlos funktionieren, da in der Datei .bash_profile automatisch der Pfad zur Python3-Installation eingetragen wird. Sollte das nicht der Fall sein, muss folgende Zeile zur .bash_profile hinzugefügt werden:

export PATH="/Library/Frameworks/Python.framework/Versions/3.7/bin:${PATH}"

Achtet darauf, dass Ihr bei Eurer Pfadangabe die richtige Versionsnummer verwendet (hier: 3.7).

Installation unter Windows 10

Auch wenn ich in der Überschrift „Windows 10“ geschrieben habe, sei gesagt, dass diese Anleitung auch unter Windows 7 oder Windows 8 funktionieren mag.

Unter Windows kommt ebenfalls pip zum Einsatz (in der Eingabeaufforderung oder in der PowerShell):

pip install matplotlib

Solltet Ihr hingegen Visual Studio nutzen und hierüber auch Python 3 installiert haben (über den Visual Studio Installer), dann ruft Ihr Visual Studio auf, wechselt dort zum Paketmanager und gebt dort in das Suchfeld „matplotlib“ ein. Anschließend kann dann diese Bibliothek ausgewählt und installiert werden.

Zur Installation von Python mithilfe von Visual Studio findet Ihr übrigens in Microsofts Dokumentation ausführliche Anleitungen.

Darüber hinaus habe ich zu diesem Thema auch einen Artikel verfasst, der die Installation ausführlich beschreibt.

Ein einfaches Beispiel

Da nun matplotlib an Bord ist, können wir uns jetzt an ein erstes Beispiel wagen. Da ich in meinen Tutorials zur Datenvisualisierung häufig Liniendiagramme verwendet habe, möchte hier ebenfalls ein Liniendiagramm-Beispiel vorstellen. Legt dafür eine neue Python-Datei an. Meine Datei habe ich „matplotlib_1.py“ genannt.

Es ist sinnvoll, mit der Shebang-Anweisung zu beginnen, damit klar ist, welcher Interpreter genutzt werden soll.

#!/usr/bin/env python3

Weiter geht es mit der Importanweisung für matplotlib bzw. das darin enthalten Modul pyplot:

import matplotlib.pyplot as plt

Dabei ist es üblich — aber nicht zwingend — mit as den Alias plt zuzuweisen. Dies geschieht aus Gründen der Praktikabilität: plt ist einfach kürzer als pyplot.

Als nächstes benötigen wir eine Zahlenreihe. Dazu greife auf einen Datensatz aus einem meiner alten Tutorials zurück, und zwar auf die Anzahl der Verkehrsunfälle in Kiel. Aus diesem Datensatz sollen uns hier nur Fahrerfluchten interessieren.

# Anzahl der Fälle von Fahrerflucht in Kiel (2010-2015)
fahrerflucht = [1974, 1962, 1970, 1945, 2164, 2327]

Es folgt der Code zur grafischen Darstellung dieser Zahlenreihe als Liniendiagramm; zwei Zeilen sind ausreichend:

plt.plot(fahrerflucht)
plt.show()

Damit sind wir dem Ziel schon recht nahe gekommen. Allerdings wird für die X-Achse lediglich eine Standard-Skalierung vorgenommen, was auch nicht verwunderlich ist, schließlich haben wir hierzu keine weiteren Angaben gemacht. Dies soll sich jetzt ändern, indem folgende Zeile hinzugefügt wird:

jahr = [2010, 2011, 2012, 2013, 2014, 2015]

Und eine Überschrift wäre auch nicht schlecht:

plt.title("Fahrerfluchten in Kiel (2010-2015)")

Der gesamte Code sieht jetzt folgendermaßen aus:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import matplotlib.pyplot as plt

# Anzahl der Fälle von Fahrerflucht in Kiel (2010-2015)
fahrerflucht = [1974, 1962, 1970, 1945, 2164, 2327]

# Jahre
jahr = [2010, 2011, 2012, 2013, 2014, 2015]

plt.plot(jahr, fahrerflucht)

plt.title("Fahrerfluchten in Kiel (2010-2015)")

plt.show()

Fertig! So einfach ist die die Erstellung eines Liniendiagramms mit matplotlib.