如何在ggplot中将点添加到geom_line图

upe*_*dra 3 r ggplot2

我有一个如下的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                                          
Run Code Online (Sandbox Code Playgroud)

这是生成折线图的代码:

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")
Run Code Online (Sandbox Code Playgroud)

生成的图如下所示...

time_series_plot

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

Rut*_*art 5

可能是您的点隐藏在尺寸= 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")))
Run Code Online (Sandbox Code Playgroud)

Ggplot

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

在此处输入图片说明