我有这种数据
Time Value Type
1 2018-04-23 00:00:00 0.00000000 FALSE
2 2018-04-23 00:10:00 0.08971613 FALSE
3 2018-04-23 00:20:00 0.02626635 FALSE
4 2018-04-23 00:30:00 0.40684988 FALSE
5 2018-04-23 00:40:00 0.29159049 FALSE
6 2018-04-23 00:50:00 0.54625109 FALSE
然后这段代码
graph <- ggplot(data, aes(x = Time, y = Value, colour = Type, group = Type)) +
geom_point(size = 0.75, show.legend = FALSE) +
stat_summary(fun.y = mean, geom = "line", size = 0.5, aes(colour = Type), show.legend = FALSE)
ggsave("test.png", width = 6.4, height = 4, dpi = 200, units = "in")
输出此图片。
但我无法通过summary_stat
找到强调每个系列中最大值的方法。我怀疑fun.ymax
是关键,但没有成功。
有人可以提出一个想法吗?
答案 0 :(得分:0)
您可以使用stat_summary_bin
并说服您只有一个垃圾箱。 geom_rug
可以使用此功能。
ggplot(mtcars, aes(x = cyl, y = mpg)) +
geom_point() +
stat_summary_bin(fun.y = max, geom = "rug", breaks = range(mtcars$cyl), colour = "red", sides = "l")
如果你想要一条直线,你需要geom_hline
与stat_summary
不能很好地匹配,所以你需要用
ggplot(...) +
geom_hline(aes(yintercept = max), data %>% group_by(Type) %>% summarise(max = max(Value))