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)