Liniendiagramm des Saisonverlaufs der Platzierungen in der Bundesliga

Die Bundesliga-Saison 2015/2016 hat mit Bayern München den vorhersehbaren Meister gehabt. Aber wie hat sich etwa Borussia Mönchengladbach im Laufe der Saison entwickelt? Und wann ist der VFB-Stuttgart auf die Abstiegsplätze gerutscht? Ein Liniendiagramm – mit R rasch erstellt – liefert alle Antworten.
Der aufwendigste Part ist es, die Daten zu sammeln und in einer Excel-Tabelle aufzubereiten. Immerhin sind es 612 Einträge. Wenn du dir die Mühe sparen willst, dann kannst du die Excel-Tabelle hier herunterladen. Der Rest ist nicht mehr sehr anspruchsvoll.

library(readxl)
library(ggplot2)

daten <- read_excel("daten/bundesliga.xlsx", col_names = TRUE)

ggplot(data= daten, aes(x = Spieltag))+
  geom_line(aes(y = `1. FC Köln`, color = "1. FC Köln"), size = 1.2)+
  geom_line(aes(y = `1. FSV Mainz 05`, color = "1. FSV Mainz 05"), size = 1.2)+
  geom_line(aes(y = `Bayer 04 Leverkusen`, color = "Bayer 04 Leverkusen"), size = 1.2)+
  geom_line(aes(y = `Bayern München`, color = "Bayern München"), size = 1.2)+
  geom_line(aes(y = `Bor. Mönchengladbach`, color = "Bor. Mönchengladbach"), size = 1.2)+
  geom_line(aes(y = `Borussia Dortmund`, color = "Borussia Dortmund"), size = 1.2)+
  geom_line(aes(y = `Eintracht Frankfurt`, color = "Eintracht Frankfurt"), size = 1.2)+
  geom_line(aes(y = `FC Augsburg`, color = "FC Augsburg"), size = 1.2)+
  geom_line(aes(y = `FC Ingolstadt 04`, color = "FC Ingolstadt 04"), size = 1.2)+
  geom_line(aes(y = `FC Schalke 04`, color = "FC Schalke 04"), size = 1.2)+
  geom_line(aes(y = `Hamburger SV`, color = "Hamburger SV"), size = 1.2)+
  geom_line(aes(y = `Hannover 96`, color = "Hannover 96"), size = 1.2)+
  geom_line(aes(y = `Hertha BSC`, color = "Hertha BSC"), size = 1.2)+
  geom_line(aes(y = `SV Darmstadt 98`, color = "SV Darmstadt 98"), size = 1.2)+
  geom_line(aes(y = `TSG Hoffenheim`, color = "TSG Hoffenheim"), size = 1.2)+
  geom_line(aes(y = `VfB Stuttgart`, color = "VfB Stuttgart"), size = 1.2)+
  geom_line(aes(y = `VfL Wolfsburg`, color = "VfL Wolfsburg"), size = 1.2)+
  geom_line(aes(y = `Werder Bremen`, color = "Werder Bremen"), size = 1.2)+
  scale_y_continuous(trans = "reverse", breaks=seq(1, 18, 1))+
  scale_x_continuous(breaks=seq(1, 34, 1), limits=c(1, 34))+
  labs(title="Bundesliga 2015/2016",x  ="Spieltag", y = "Platz")+
  scale_colour_manual(name = "Verein", values = c("#FF0000FF", "#FF5500FF", "#FFAA00FF", "#FFFF00FF", 
                                  "#BBFF00FF", "#55FF00FF", "#009900FF", "#CCCCCCFF", 
                                  "#00FFAAFF", "#00FFFFFF", "#00AAFFFF", "#0033FFFF", 
                                  "#6600FFFF", "#000000FF", "#AA00FFFF", "#FF00FFFF", 
                                  "#FF00AAFF", "#FF0055FF"))+
  theme(panel.grid.minor.x = element_blank(),
        panel.grid.minor.y = element_blank(), 
        panel.background = element_rect(fill = "grey95", colour = "grey99"))

Bundesliga Saisonverlauf

Klicke auf das Bild für eine vergrößerte Darstellung

Das Skript: Es sind nur zwei Pakete nötig, readxl zum Einlesen der Excel-Tabelle und ggplot2 für die Grafik. Die nächste Zeile liest die Tabelle ein. Der Parameter col_names = TRUE bewirkt, dass die erste Reihe als Namen für die Spalten Verwendung findet. Es folgt der Plot: Zunächst wird mit ggplot(data= daten, aes(x = Spieltag)) nur die Variable für die X-Achse angegeben. Es folgen 18 Linien in der Form geom_line(aes(y = `1. FC Köln`, color = "1. FC Köln"), size = 1.2). Hier werden also die Werte für die Y-Achse festgelegt. Wichtig ist, Variablennamen, die Leerzeichen enthalten, mit `` (Backticks) zu umgeben, da es sonst zu einer Fehlermeldung kommt. Gegebenenfalls musst du noch die Umlaute mit fix(daten) anpassen. Die Zeile scale_y_continuous(trans = "reverse", breaks=seq(1, 18, 1)) sorgt dafür, dass der Platz 18 unten liegt und der 1. Platz oben. scale_colour_manual() schließlich legt die Farben und den Titel für die Legende fest. Zur besseren Lesbarkeit findest du hier eine PDF-Datei mit dem erzeugten Diagramm.
Auffällig ist etwa, dass Mönchengladbach nach dem 5. Spieltag Schlusslicht war und sich danach kontinuierlich nach oben gearbeitet hat. Andererseits war der VFB Stuttgart am 27. Spieltag noch auf Platz 11 und ist erst am 32. Spieltag auf einen Abstiegsplatz gerutscht.