Python #11: Diagramme zeichnen mit matplotlib

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()
Python - ein einfaches Liniendiagram mit matplotlib zeichnen
Python – ein einfaches Liniendiagram mit matplotlib zeichnen

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']
zeichnen eines Liniendiagramms mit matplot
zeichnen eines Liniendiagramms mit matplot

Ein Kommentar

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert