我有一条回归线,称为“均值”。 X轴称为“周”。
现在,我想绘制从回归线的每个点到x轴和y轴的垂直和水平线。
这是我的数据:
week mean
1 0 0
2 2 0
3 3 0
4 4 0
5 5 0
6 6 0
7 7 0
8 8 8
9 9 30
10 10 68
11 11 121
12 12 189
13 13 272
这是我的代码:
ggplot()+
geom_linerange(data=df2,x=df2$week, ymin=0, ymax=df2$mean, colour="#000000",size=0.1)+
geom_hline(data=df2, yintercept=df2[trunc(df2$week==30),"mean"],colour="#000000",size=0.1)
我已使用geom_linerange
成功绘制垂直线。
然而,geom_hline
只是行不通。 R只是没有画任何东西。
我不知道,如果geom_hline
是我应该使用的功能。我试图将geom_vline
用于垂直线部分,但它从未起作用,所以我切换回geom_linerange
,它完美地工作。
感谢您的帮助!!
答案 0 :(得分:5)
使用geom_segment
:
DF <- read.table(text=" week mean
1 0 0
2 2 0
3 3 0
4 4 0
5 5 0
6 6 0
7 7 0
8 8 8
9 9 30
10 10 68
11 11 121
12 12 189
13 13 272", header=TRUE)
library(ggplot2)
p <- ggplot(DF, aes(x=week, y=mean)) +
geom_segment(aes(xend=week, yend=0), color="blue") +
geom_segment(aes(xend=0, yend=mean), color="blue") +
geom_line()
print(p)