Zeit für einen Jahresrückblick 2023. Die Grafik bildet die Anzahl an Google-Suchen mit dem jeweiligen Begriff über das Jahr hinweg ab. Und die Verläufe sprechen für sich: Corona und die Ukraine war weiterhin ein großes Thema, dann kamen einzelne Events wie die Diskussion um Rammstein, das private U-Boot zur Titanic oder die Filme Barbie und Oppenheimer. Nur die sehr geringe Suche nach “Klima” überrascht.
Und wie wurde die Grafik hergestellt? Zuerst die Google-Abfrage:
library(gtrendsR)
library(dplyr)
library(viridis)
library(ggplot2)
library(ggridges)
library(colourvalues)
library(ggtext)
start_date = "2023-01-01"
end_date = "2023-12-31"
trend_1 <- gtrends(c("Ukraine", "Corona", "ChatGPT", "Russland", "Taylor Swift"),
gprop='web', geo="DE", time=paste0(start_date," ",end_date), onlyInterest = TRUE)
trend_2 <- gtrends(c("Titanic", "Taylor Swift", "Rammstein", "Oppenheimer"),
gprop='web', geo="DE", time=paste0(start_date," ",end_date), onlyInterest = TRUE)
trend_3 <- gtrends(c("Klima", "Israel", "Hamas", "China", "Barbie"),
gprop='web', geo="DE", time=paste0(start_date," ",end_date), onlyInterest = TRUE)
trend_4 <- gtrends(c("Bettwanzen", "Beckham", "Wagenknecht"),
gprop='web', geo="DE", time=paste0(start_date," ",end_date), onlyInterest = TRUE)
time_trend <- trend_1$interest_over_time %>%
rbind(trend_2$interest_over_time) %>%
rbind(trend_3$interest_over_time) %>%
rbind(trend_4$interest_over_time) %>%
select(date, hits, keyword) %>%
mutate(date = as.Date(date)) %>%
mutate_at("hits", ~ifelse(. == "<1", 0.5, .)) %>% # Ersetzen mit 0.5
mutate_at("hits", ~as.numeric(.))
Und nun der Code für die Grafik:
order <- c("Klima", "Wagenknecht", "Hamas", "Israel", "Beckham", "Bettwanzen", "Barbie", "Oppenheimer",
"Taylor Swift", "Titanic", "Rammstein", "Russland", "China", "ChatGPT", "Ukraine", "Corona")
label_colors <- colour_values(1:length(unique(time_trend$keyword)), palette="cividis")
time_trend %>%
arrange(factor(keyword, levels = order)) %>%
ggplot(aes(x=date, y=factor(keyword, levels=order), group=keyword, height=hits,
fill=factor(keyword, levels=order), colour=factor(keyword, levels=order))) +
geom_density_ridges2(stat="identity", scale = 3) +
theme(legend.position="none",
axis.ticks = element_blank(),
axis.title.y = element_blank(),
axis.title.x = element_blank(),
#axis.text.y = element_blank(),
plot.caption = element_text(vjust = 4, size = 20, face = "bold"),
axis.text.x = element_markdown(colour="grey"),
#axis.text.y = element_markdown(colour=factor(keyword, levels=order)),
panel.background = element_blank())