【发布时间】:2016-12-29 09:57:05
【问题描述】:
我正在使用 facet_grid() 绘制每个数据组划分的多个图。对于每个图,我想在角落添加 Y 轴的最大值。我已经尝试了几种技巧,但它从来没有给我预期的结果。这个answer 对我有部分帮助,但我想添加的价值会不断变化,因此我不知道如何应用它。
这是一个最小的例子,我想在下图中添加红色数字:
library(ggplot2)
data <- data.frame('group'=rep(c('A','B'),each=4),'hour'=rep(c(1,2,3,4),2),'value'=c(5,4,2,3,6,7,4,5))
ggplot(data,aes(x = hour, y = value)) +
geom_line() +
geom_point() +
theme(aspect.ratio=1) +
scale_x_continuous(name ="hours", limits=c(1,4)) +
scale_y_continuous(limits=c(1,10),breaks = seq(1, 10, by = 2))+
facet_grid( ~ group)
感谢您的帮助!
【问题讨论】:
-
计算 ggplot2 之外的每个组的最大值,例如,使用
aggregate。 -
... 或在 geom_text 调用中执行,例如
geom_text(aes(label=value, y=Inf, x=Inf), aggregate(value~group,data,max), hjust=2, vjust=2, color="red", fontface=2)。