R ggplot垂直和水平线在中心截取

时间:2014-01-06 16:15:24

标签: r ggplot2

我有一条回归线,称为“均值”。 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,它完美地工作。

感谢您的帮助!!

1 个答案:

答案 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)

enter image description here