Skip to content

Instantly share code, notes, and snippets.

@mschnetzer
Created December 17, 2024 13:51
Show Gist options
  • Save mschnetzer/f63264dff39067bb24e2285e97d27359 to your computer and use it in GitHub Desktop.
Save mschnetzer/f63264dff39067bb24e2285e97d27359 to your computer and use it in GitHub Desktop.
library(tidyverse)
library(eurostat)
rawdat <- get_eurostat("tipsnf10", filters = list(geo = "AT"), time = "date", type = "label", lang = "de")
gdpdat <- get_eurostat("nama_10_gdp", filters = list(geo = "AT", unit = "CP_MEUR", na_item = "B1GQ"), time = "date", type = "label", lang = "de")
findat <- rawdat |>
mutate(values = ifelse(sector == "Volkswirtschaft", values*-1, values),
sector = case_match(sector,
"Volkswirtschaft" ~ "Ausland",
"Private Haushalte; private Organisationen ohne Erwerbszweck" ~ "Private Haushalte",
.default = sector)) |>
left_join(gdpdat |> select(time, gdp = values)) |>
mutate(shares = values/gdp*100,
sector = factor(sector, levels=c("Staat",
"Nichtfinanzielle Kapitalgesellschaften",
"Finanzielle Kapitalgesellschaften",
"Private Haushalte",
"Ausland")))
findat |>
ggplot(aes(x = time, y = shares, fill = sector)) +
geom_bar(stat = "identity", position = "stack") +
geom_hline(yintercept = 0, color = "black", linewidth = 0.9) +
scale_fill_manual(name = NULL, values = MetBrewer::met.brewer("Lakota")) +
scale_y_continuous(labels = scales::label_number(suffix = "%")) +
scale_x_date(expand = c(0.01,0.01)) +
labs(x = NULL, y = NULL,
title = "Ausgaben des einen, sind Einnahmen des anderen....",
subtitle = "Finanzierungssalden in % des BIP, 1995-2023",
caption = "Quelle: Eurostat [tipsnf10]. Grafik: @matschnetzer") +
theme_minimal(base_family = "Barlow Condensed", base_size = 16) +
theme(legend.position = "bottom",
legend.text = element_text(size = 14),
plot.caption = element_text(size = 10),
plot.title = element_text(size = 22),
panel.grid.major.x = element_blank(),
panel.grid.minor = element_blank())
ggsave("finbal.png", width = 10, height = 6, dpi = 320, bg = "white")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment