Auch in diesem kurzen Tutorial soll wieder ein Liniendiagramm mit Python 3 und dem Jupyter Notebook erstellt werden. Im Gegensatz zum vorhergehenden Liniendiagramm-Tutorial, werden die zugrunde liegenden Daten hier von einer CSV-Datei eingelesen.
Für dieses Beispiel verwende ich Daten der Landeshauptstadt Kiel, die Ihr hier abrufen könnt. Es soll die Entwicklung des Familienstandes (Ledige und Verheiratete) in Kiel im Zeitraum von 1988–2014 grafisch dargestellt werden. Um Probleme beim Import der CSV-Datei „kiel_bevoelkerung_familienstand.csv“ zu vermeiden, habe ich vorweg in einem Texteditor sowohl die Umlaute in “Bevölkerung” als auch die erste Zeile entfernt.
Fangen wir an: Startet Euren Jupyter-Server und beginnt mit folgenden Importanweisungen:
import csv
import matplotlib.pyplot as plt
Das Paket matplotlib
benötigen wir für die Visualisierung unseres Datensatzes. Das Paket csv
ist für das Lesen der CSV-Datei erforderlich.
Nun geht es darum, die CSV-Datei einzulesen und die benötigten Daten in Listen abzulegen. Es interessieren uns nur die Jahre und der jeweilige Anteil an ledigen und verheirateten Personen, mithin die Spalten 4, 5 und 6.
# create empty lists
jahr = []
ledig = []
verheiratet = []
with open('kiel_bevoelkerung_familienstand.csv') as csvfile:
readCSV = csv.reader(csvfile, delimiter=';')
for row in readCSV:
jahr.append(int(row[4]))
ledig.append(float(row[5]))
verheiratet.append(float(row[6]))
Selbstverständlich soll die Grafik auch einen Title und Beschriftungen erhalten:
plt.title("Kiel - Familienstand\n1988-2014 (für 1993 liegt kein Wert vor)")
plt.xlabel("Jahr")
plt.ylabel("in Tsd.")
Die eigentliche Grafik wird mit
plt.plot(jahr, ledig, "r*-", markersize=6, linewidth=1, color='g', label="ledig")
plt.plot(jahr, verheiratet, "r*-", markersize=6, linewidth=1, color='r', label="verheiratet")
erzeugt, und die Position der Legende kann wie folgt bestimmt werden:
plt.legend(loc=(0.25, 0.75))
Damit im Jupyter Notebook die Grafik auch angezeigt wird, bedarf es zum Schluß noch der Anweisung:
plt.show()
Wie üblich gibt es den kompletten Code zum Download bei Github.
Hinweis: Wie Ihr Eurer Grafik entnehmen könnt, erfolgt die Skalierung der Jahre auf der X-Achse in Fünf-Jahresschritten (von 1985 bis 2015). Eine Anpassung dieser Skalierung könnt Ihr mit einem Subplot vornehmen. Ein entsprechendes Code-Beispiel zeige ich in diesem Artikel.
Weiterführende Links
- Jupyter Notebook einrichten
- Jupyter Notebook – Kreisdiagramm erstellen
- Jupyter Notebook – Liniendiagramm erstellen
- matplotlib manual
Zuletzt aktualisiert am 11. Juli 2022