我如何在 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
我有一个 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