我如何在 ggplot 中向 geom_line 绘图添加点

how can i add points to geom_line plot in ggplot

我有一个 df 如下,我想使用 geom_line 生成时间序列图。这是我的数据摘要:

summary(data.t.m)
              sample    side        time    day         variable       value       
 HA2015_E10AF.bam:  1   E:69   1      :12   F:72   nc.counts:138   Min.   : 4.346  
 HA2015_E10BF.bam:  1   W:69   2      :12   S:66                   1st Qu.: 6.949  
 HA2015_E10CF.bam:  1          3      :12                          Median : 8.529  
 HA2015_E11AF.bam:  1          4      :12                          Mean   : 9.085  
 HA2015_E11AS.bam:  1          5      :12                          3rd Qu.:10.501  
 HA2015_E11BF.bam:  1          6      :12                          Max.   :23.047  
 (Other)         :132          (Other):66                                          

下面是生成线图的代码:

plt <- ggplot(data.t.m, aes(time, value, group = side, colour = side))
plt <- plt + stat_summary(fun.y = "mean", geom="line", size = 2, position=position_dodge(0.95))  
plt <- plt + stat_summary(fun.data="calc.sem", geom="errorbar")

生成的图如下...

现在我的问题是如何在 ggplot 上添加对应于每个时间点的点?

可能是您的点隐藏在 size=2 的线下方。将 geom_point 中的点大小设置为更大的大小可能会解决您的问题。请参阅下面的示例,我模拟了时间序列第一部分的数据,为了方便省略了误差线。

数据示例

df<-data.frame(time=as.factor(c(1,1,2,2,3,3,4,4,5,5)), value=as.numeric(c(7, 8, 9, 10, 10, 11, 10.5, 11.4, 10.9, 11.6)), side=as.factor(c("E","F","E","F","E","F","E","F","E","F")))

Ggplot

library(ggplot2)
p<-ggplot(df, aes(time,value, group=side, colour=side)) + geom_line(size=1)
p<-p+geom_point(size=4)
p