Datenvisualisierung mit Python – Zweitstimmen der Union bei Bundestagswahlen 1949-2021

Die Union hatte schon bessere Zeiten. Bei der letzten Bundestagswahl fuhr sie ein historisch schlechtes Wahlergebnis ein. Wie die Entwicklung ihrer — bei den Bundestagswahlen von 1949 bis 2021 — erreichten Zweitstimmen mit Python und Matplotlib visuell dargestellt werden kann, zeigt nachfolgender Code:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-


"""
Zweitstimmen der Union 1949-2021
Source: https://www.bundestag.de/parlament/wahlen/ergebnisse_seit1949-244692
Version: 1.0
Python 3.10
Date created: December 2nd, 2021
"""

import pandas as pd
import matplotlib.pyplot as plt

plt.style.use("seaborn-darkgrid")

csv_data = "zweitstimmen-union.csv"
df = pd.read_csv(csv_data, sep=";")

fig, ax = plt.subplots()

x = df["Jahr"]
y = df["Zweitstimmen"]

plt.title("Zweistimmen der Union\n Bundestagswahlen 1949-2021", size="x-large")
plt.ylabel("Zweitstimmen (in %)", size="large")
plt.xlabel("Jahr", size="x-large")

ax.set_xticks(range(len(x)))
ax.set_xticklabels(x, rotation="vertical")

plt.plot(y, "*-", markersize=6, linewidth=1, color="b")

plt.show()

In den vorangegangenen Beiträgen zu Matplotlib bin ich bereits mehrfach auf den Code eingegangen. Daher sei auf jene Artikel verwiesen (Links weiter unten). Im Gegensatz zu den meisten bisherigen Beispielen weiche ich hier jedoch in der Zeile

plt.style.use("seaborn-darkgrid")

vom Standard-Style ab. Welche Styles zur Verfügung stehen kann mit

print(plt.style.available)

abgefragt werden.

Die Daten stammen von der Internetseite des Deutschen Bundestags. Ich habe sie in eine CSV-Datei überführt, die mit Pandas — einem Tool für die Datenanalyse — gelesen wird. Diese CSV-Datei sieht – gekürzt – wie folgt aus:

Jahr;Zweitstimmen
1949;31.0
1953;45.3
1957;50.2
[...]

Als Ergebnis wird folgendes Liniendiagramm angezeigt:

Zweitstimmen der Union bei Bundestagswahlen

Weitere Beispiele