2022 war wahrlich kein langweiliges Jahr. Doch ist so viel passiert, dass die Geschehnisse Anfang des Jahres fast schon überblendet werden von jenen am Jahresende. Insofern eignet sich die Analyse der Suchbegriffe auf Google hervorragend für eine Jahres-Revue! Die horizontale x-Achse zeichnet den Jahresverlauf, die vertikale y-Achse die Häufigkeit der Google-Suche ab.
Die Suchbegriffe habe ich nach einigen Versuchen gefunden. Nun brauchen wir noch den Code zur Visualisierung der Grafik oben.
Als erstes die libraries:
library(gtrendsR)
library(dplyr)
library(viridis)
library(ggplot2)
library(ggridges)
library(colourvalues)
library(ggtext)
Anschließend die Datenbeschaffung und -verarbeitung:
start_date = "2022-01-01"
end_date = "2022-12-26"
trend_1 <- gtrends(c("Queen", "Katar", "Messi", "Fussball", "Corona"),
gprop='web', geo="DE", time=paste0(start_date," ",end_date), onlyInterest = TRUE)
trend_2 <- gtrends(c("Iran", "WM", "Krieg", "Russland", "Ukraine"),
gprop='web', geo="DE", time=paste0(start_date," ",end_date), onlyInterest = TRUE)
trend_3 <- gtrends(c("Impfung", "Gas", "Energie", "Solar", "NATO"),
gprop='web', geo="DE", time=paste0(start_date," ",end_date), onlyInterest = TRUE)
trend_4 <- gtrends(c("Wahlen", "Layla", "Bahn"),
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(.))
head(time_trend)
## date hits keyword
## 1 2022-01-02 2 Queen
## 2 2022-01-09 2 Queen
## 3 2022-01-16 1 Queen
## 4 2022-01-23 1 Queen
## 5 2022-01-30 2 Queen
## 6 2022-02-06 2 Queen
Und nun die Visualisierung mit ggplot2:
order <- c("Messi", "Katar", "Fussball", "WM", "Iran", "Queen", "Layla", "Solar", "Energie", "Gas", "Wahlen", "Krieg", "Russland", "NATO", "Ukraine", "Impfung", "Corona", "Bahn")
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_segment(aes(x=as.Date("2021-10-15"),xend=as.Date("2022-12-31"),
y=factor(keyword, levels=order),yend=factor(keyword, levels=order)), size=0.1) +
geom_density_ridges2(stat="identity", scale = 3) +
geom_text(data = time_trend,
aes(label=keyword),
x = as.Date("2021-10-15"),
size=4, check_overlap = TRUE,
hjust=0, vjust=-0.5) +
scale_fill_viridis(discrete = TRUE, option="cividis", guide="none") +
scale_color_viridis(discrete = TRUE, option="cividis", guide="none") +
scale_x_date(date_labels = "%b",
breaks = seq(as.Date("2022-01-01"), as.Date("2022-12-31"), by = "1 month")) +
labs(x="", y="", caption="das Jahr 2022 auf Google") +
theme(legend.position="none",
axis.ticks = element_blank(),
axis.text.y = element_blank(),
plot.caption = element_text(vjust = 4, size = 10, face = "bold"),
axis.text.x = element_markdown(colour="darkgrey"),
panel.background = element_blank())