R 将标签添加到刻面曲线图每个刻面中的直线

R 将标签添加到刻面曲线图每个刻面中的直线,r,ggplot2,posixct,facet-wrap,geom-text,R,Ggplot2,Posixct,Facet Wrap,Geom Text,我一直在努力编写最后一段代码,以使我正在制作的图表真正适合我和我的观众。我有一个带有两条线的条形图(一条作为滚动平均线,另一条作为滚动平均线的峰值)。我想做的是给峰值线标上一个数字,一次,但在每个方面,每个方面的数字是不同的。以下是一些精简的数据和代码: tdf <- data.frame(a=as.POSIXct(c("2019-10-15 08:00:00","2019-10-15 09:00:00","2019-10-15 10:00:00","2019-10-15 08:00:00

我一直在努力编写最后一段代码,以使我正在制作的图表真正适合我和我的观众。我有一个带有两条线的条形图(一条作为滚动平均线,另一条作为滚动平均线的峰值)。我想做的是给峰值线标上一个数字,一次,但在每个方面,每个方面的数字是不同的。以下是一些精简的数据和代码:

tdf <- data.frame(a=as.POSIXct(c("2019-10-15 08:00:00","2019-10-15 09:00:00","2019-10-15 10:00:00","2019-10-15 08:00:00","2019-10-15 09:00:00","2019-10-15 10:00:00")),
                  b=as.Date(c("2019-09-02","2019-09-02","2019-09-02","2019-09-03","2019-09-03","2019-09-03")),
                  m1=c(0.2222222,0.3636364, 0.2307692, 0.4000000, 0.3428571, 0.3529412),
                  m2=c(0.2222222,0.2929293, 0.2972028, 0.3153846, 0.3714286, 0.3529412),
                  m3=c(0.2929293, 0.2929293, 0.2929293, 0.3529412,0.3529412,0.3529412))

tdf您只需要将不同的数据集传递给仍然保留刻面变量的标签层。这将使用
dplyr

g <- g + 
  geom_text(data = tdf %>% 
              group_by(b) %>% 
              summarize(median = median(m3)), 
            aes(x = as.POSIXct(-Inf, origin="1970-01-01"), 
                y = Inf, 
                label = median), 
            size = 2,
            hjust = -0.5,
            vjust = 1.4, 
            inherit.aes = FALSE)
g%
组别(b)%>%
汇总(中位数=中位数(m3)),
aes(x=as.POSIXct(-Inf,origin=“1970-01-01”),
y=Inf,
标签=中间值),
尺寸=2,
hjust=-0.5,
vjust=1.4,
inherit.aes=FALSE)

我们还必须显式地将
x
转换为日期/时间值,以便轴工作。

太好了!我缺少的是在as.POSIXct中包装x美学并设置原点。我一直无法跟踪何时需要设置原点以及何时不需要设置原点。非常感谢。成功了。
g <- g + 
  geom_text(data = tdf %>% 
              group_by(b) %>% 
              summarize(median = median(m3)), 
            aes(x = as.POSIXct(-Inf, origin="1970-01-01"), 
                y = Inf, 
                label = median), 
            size = 2,
            hjust = -0.5,
            vjust = 1.4, 
            inherit.aes = FALSE)