Jupyter Notebook – CSV-Datei & Liniendiagramm

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

Zuletzt aktualisiert am 11. Juli 2022