Daten laden und aufbereiten
library(tidyverse)
library(DT)
library(plotly)
daten <- readxl::read_excel("Länderfinanzausgleich.xlsx",
na = c("", "NA", "./."))
daten <- daten %>%
mutate(Volumen = str_remove_all(Volumen, "± ")) %>%
mutate_if(is.character, str_remove_all, "\\.") %>%
mutate_if(is.character, as.numeric)
daten <- daten %>%
gather(-Jahr, key = Bundesland, value = Finanzausgleich) %>%
arrange(Jahr, desc(Finanzausgleich)) %>%
mutate(Typ = ifelse(Finanzausgleich < 0, "Geberland", "Empfängerland")) %>%
mutate(Typ = fct_rev(Typ)) %>%
mutate(Finanzausgleich = -Finanzausgleich) %>%
filter(Bundesland != "Volumen") %>%
mutate(Bundesland = factor(Bundesland))
Bundeslaender <- daten %>%
filter(Jahr == 2018) %>%
mutate(Bundesland = reorder(Bundesland, Finanzausgleich)) %>%
pull(Bundesland)
daten <- daten %>%
mutate(Bundesland = fct_relevel(Bundesland, as.character(Bundeslaender)))
Diagramm mit Mouse-Over-Effekten: Interaktive Beschriftungen
p <- daten %>%
filter(Jahr == 2018 | Jahr == 1995) %>%
ggplot(aes(x = Bundesland, y = Finanzausgleich,
fill = ifelse(Bundesland == "Nordrhein-Westfalen" | Bundesland == "Bayern", "Ja", "Nein"))) +
geom_col(width = 0.6) +
labs(x = "",
y = "Finanzausgleich in Mio. Euro",
title = "Länderfinanzausgleich 1995 vs. 2018",
subtitle = "Bayerns Aufstieg und Nordrhein-Westfalens Abstieg",
caption = "Datenquelle: https://de.wikipedia.org/wiki/Länderfinanzausgleich#Finanzvolumen") +
coord_flip() +
facet_wrap(~ Jahr) +
scale_fill_manual(name = "", values = c("Ja" = "steelblue1", "Nein" = "grey70")) +
theme_bw() +
theme(legend.position = "none",
text = element_text(size = 14))
# Paket: plotly, Funktion: ggplotly
# Wird einfach auf das ggplot-Objekt angewendet
p <- p + labs(y = "", title = "LFA 1995 vs. 2018 in Mio. Euro")
ggplotly(p, tooltip = c("x", "y"))