In diesem Kapitel möchte ich erläutern, wie man mit der Bibliothek matplotlib ganz einfach und schnell 2D Diagramme zeichnen kann.
In dem Editor “jupyter” ist bereits diese (und viele weitere) Bibliothek enthalten, somit muss man nichts zusätzlich installieren. Nutzt man jedoch einen anderen Editor wo diese Bibliothek nicht enthalten ist, so kann man diese kostenfrei unter https://matplotlib.org/ herunterladen (ich empfehle die “Stable Version“).
Einen guten Überblick was man alles mit dieser Bibliothek machen kann findet man auf der Seite matplotlib – Examples V3.0.2.
Wir wollen jedoch zuerst ein einfaches Liniendiagramm mit 3 Werten zeichnen.
%matplotlib inline import matplotlib.pyplot as plot xAxisValues = [1,2,3] yAxisValues = [4,5,6] plot.plot(xAxisValues, yAxisValues) plot.show()
Es werden für das zeichnen jeweils zwei Listen mit Werten benötigt, einmal für die x-Achse und einmal für die y-Achse. Die beiden Listen müssen gleich lang sein, da sonst ein Fehler angezeigt wird. Es lohnt sich hier also vor dem Zeichnen eine kleine Abfrage über die Länge der beiden Listen zu implementieren.
%matplotlib inline import matplotlib.pyplot as plot xAxisValues = [1,2,3] yAxisValues = [4,5,6,7] if len(xAxisValues) == len(yAxisValues): plot.plot(xAxisValues, yAxisValues) plot.show() else: print("Die Wertelisten, haben eine unterschiedliche länge!")
Als Nächstes wollen wir ein Diagramm zeichnen, welches die Einwohnerzahlen von Berlin (ab dem 12. Jahrhundert) darstellt.
1200;2200 1300;4000 1400;7300 1500;11000 1600;10950 1700;123110 1800;455618 1900;3229527 2000;3442612
Die Daten hierzu habe ich von nachfolgendem Wikipedia Artikel entnommen.
Seite „Bevölkerung Berlins“. In: Wikipedia, Die freie Enzyklopädie. Bearbeitungsstand: 9. November 2018, 23:01 UTC. URL: https://de.wikipedia.org/w/index.php?title=Bev%C3%B6lkerung_Berlins&oldid=182614104 (Abgerufen: 21. Dezember 2018, 07:34 UTC)
Die Daten speichern wir im Projekt als Kommaseparierte Datei (CSV), wie man so eine Datei verarbeitet habe ich bereits im Kapitel Python #10: Dateiverarbeitung erläutert.
xAxisValues = [] yAxisValues = [] with open("einwohner_berlin.csv","r") as datei: for line in datei: values = line.strip().split(";") xAxisValues.append(values[0]) yAxisValues.append(values[1])
Nun haben wir die Datei ausgelesen, und die Werte in die Listen geschrieben.
xAxisValues ['1200', '1300', '1400', '1500', '1600', '1700', '1800', '1900', '2000'] yAxisValues ['2200', '4000', '7300', '11000', '10950', '123110', '455618', '3229527', '3442612']