Reputation: 79
I have a regression line, called "mean". X-axis is called "week".
Now, I want to draw vertical and horizontal lines, from each point of the regression line, to x-axis and y-axis.
Here is my data:
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
Here is my code:
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)
I have successfully draw the vertical line, using geom_linerange
.
However, the geom_hline
just won't work. R just doesn't draw anything.
I don't know, if geom_hline
is the function I should use. I was trying to use geom_vline
for the vertical line part, but it never worked, so I switched back to geom_linerange
, and it worked perfectly.
Thanks for any help!!
Upvotes: 2
Views: 2377
Reputation: 132706
Use 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)
Upvotes: 7