Programmieren mit Python: Wahlergebnisse in interaktiver Karte darstellen
Mit Python lässt sich auf einer Karte visualisieren, wie ihre Nachbarn abgestimmt haben. Dafür bringen wir Geodaten und Wahldaten zusammen.
- Arnd Scharpegge
Wahlen gehören zum Herz einer Demokratie. Daher sind die Daten für vergangene Wahlen in der Regel öffentlich auffindbar – viele Kommunen, Kreise und Länder stellen sie maschinenlesbar bereit. Sie eignen sich daher perfekt, um mit Python eine interaktive Karte zu erstellen und bestimmte Gebiete je nach Wahlgewinner einzufärben. So lässt sich schnell erkennen, wie ihre Nachbarschaft in den vergangenen Jahren abgestimmt hat.
- Der Artikel beschreibt, wie man unter Verwendung von Python und Bibliotheken wie Plotly, GeoPandas und Marimo interaktive Karten erstellt, die Wahlergebnisse visualisieren und so das Abstimmungsverhalten in verschiedenen Gebieten darstellen.
- Durch die Verknüpfung von Geodaten mit Wahlergebnissen ist es möglich, detaillierte interaktive Grafiken zu erstellen, die zeigen, welche Partei in bestimmten Bezirken die meisten Stimmen erhalten hat.
- Die Aufbereitung und Analyse der Daten umfassen verschiedene Schritte: von der Beschaffung der Daten ĂĽber die Anpassung an ein geeignetes Format bis hin zur visuellen Darstellung.
Wir erstellen in diesem Artikel eine interaktive Grafik für die Stadtbezirke von Hannover und verbinden dabei vorhandene Geodaten mit den Ergebnissen der letzten drei Wahlen. Natürlich lässt sich das Vorgehen auf andere Städte und andere Wahlen übertragen. Python hilft uns dabei mit Plotly, GeoPandas und Marimo: Plotly ist eine leistungsstarke Bibliothek zur interaktiven Datenvisualisierung, GeoPandas ermöglicht effiziente Datenanalyse und Geodatenverarbeitung mit Pandas-ähnlicher Syntax. Und Marimo ist ein Framework, um interaktive Python-Notebooks zu erstellen.
Dieser Artikel führt Sie dazu in das Be- und Verarbeiten von Geodaten ein – auch Geospatial Data Analysis genannt. Wir bauen die Beispiele in Marimo auf, einer neuen Software für Python-Notebooks ähnlich wie Jupyter, die wir in einem anderen Artikel bereits ausführlich beschrieben haben. Am Ende steht also eine Anwendung in Marimo. Dafür liest man die Wahlergebnisse der letzten Europa-, Landtags- und Bundestagswahl ein und passt sie an die Bedürfnisse an. Der Code gibt für die 13 Stadtbezirke Hannovers je Wahl visuell aus, welche Partei dort am meisten Stimmen erhalten hat. Anschließend erstellen wir noch eine Funktion, um alle Ergebnisse automatisch nacheinander in einer Autoplay-Funktion anzuzeigen.
Das war die Leseprobe unseres heise-Plus-Artikels "Programmieren mit Python: Wahlergebnisse in interaktiver Karte darstellen". Mit einem heise-Plus-Abo können Sie den ganzen Artikel lesen.