try with ggtext
and next code:
library(ggtext)
library(tidyverse)
#Code
datengesamt <- datengesamt %>%
# Convert to datetime
mutate(month = as.POSIXct(month))
plot.new()
ps <- xspline(datengesamt[,1], datengesamt[,2], 1, draw=FALSE)
pg <- xspline(datengesamt[,1], datengesamt[,3], 1, draw=FALSE)
pp <- list("Person 1" = data.frame(ps), "Person 2" = data.frame(pg)) %>%
bind_rows(.id = "id") %>%
mutate(x = lubridate::as_datetime(x))
#Plot
colors <- c('red','blue')
ggplot(pp, aes(x, y, color = id, linetype = id))+
theme(axis.line = element_line(colour = Farbe),
panel.background = element_rect(fill = "transparent", color = NA),
plot.background = element_rect(fill= "transparent", color = NA),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.border = element_blank(),
legend.position = c(0.95,0.95),
legend.title = NULL,
legend.key=element_blank(),
legend.background = element_rect(fill = "transparent", colour = NA), # get rid of legend bg
legend.box.background = element_rect(fill = "transparent", colour = NA),
)+
geom_path(size=0.5) +
scale_color_manual(labels = paste("<span style='color:",
colors,
"'>",
unique(pp$id),
"</span>"),
values = colors)+
scale_linetype_manual(labels = paste("<span style='color:",
colors,
"'>",
unique(pp$id),
"</span>"),
values=c(Nutzer1Format,Nutzer2Format))+
scale_y_continuous(breaks = scales::pretty_breaks(n = 2))+
scale_x_datetime(date_labels = "%Y", breaks = scales::pretty_breaks(n = 3), expand = expansion(mult = c(0.02, 0.03)))+
xlab("Jahr")+
ylab("# Nachrichten")+
theme(axis.text.x = element_text(colour = Farbe))+
theme(axis.text.y = element_text(angle = 90,colour = Farbe),
legend.text = element_markdown())+
labs(color='id',linetype='id')
Output:
