由于我的数据每天都在更新,我想添加"智能"不与行或文本重叠的文本标签。有这样的问题包吗?你会如何解决这个问题?就个人而言,我更喜欢使用ggplot2的解决方案。
目前,我解决了下面给出的标签,其缺点是每次更新数据时都必须检查并更正相当数量的图表的geom_text x和y。我知道在这种情况下传说会容易得多,但我需要坚持一定的布局。
一个可重复的小例子:
date <- c(1:10)
var1 <- c(4, 4.5, 4.7, 4, 3.5 ,5.5 ,6 ,5 ,5.2, 7.1)
var2 <- c(6, 7.5, 7.7, 5, 5.5 ,7.5 ,9 ,8 ,7.2, 5.1)
data <- data.frame(date, var1, var2)
data$date <- as.Date(data$date)
ggplot(data, aes(date)) +
geom_line(aes(y = var1, colour="y1"),size=1.5) +
geom_line(aes(y = var2, colour="y2"),size=1.5) +
scale_color_manual(values=c("#00669C", "#FFC000")) +
labs(x = "last 10 days", y = NULL, title = "mytitle") +
guides(color="none") +
geom_text(aes(as.Date("1970-01-09"), 4), label="Text 1", color="#00669C", size=8) +
geom_text(aes(as.Date("1970-01-03"), 8.5), label="Text 2", color="#FFC000", size=8) +
theme_bw()
感谢您的帮助!