答案 0 :(得分:1)
要将截距线添加到绘图中,请使用abline
。
abline(v = x)
会在x
点添加一条垂直线。
abline(h = y)
会在y
点添加一条垂直线。
但是,这些线条将涵盖整个情节。要在交叉点停止它们,您需要使用lines
代替,它具有稍微复杂的参数(因为您需要同时指定起点和终点坐标)。
您可能还想通过xaxs = 'i'
:
plot(speed ~ dist, cars, xaxs = 'i', yaxs = 'i')
lines(c(0, 40), c(10, 10), col = 'red', lwd = 2)
lines(c(40, 40), c(0, 10), col = 'red', lwd = 2)
最后,text
可用于插入适当的文字。
答案 1 :(得分:1)
您需要使用segments
和axis
。在segments
调用中,我使用-1000作为起始点,以确保该行一直到轴。
#plot values
x <-1:100
y <-seq(1,200,2)
#known point
xx <- 65
yy <- 130
plot(x,y,type="l")
segments(x0=-1000, y0=yy, x1 = xx, y1 = yy,col="red") #horiz segment
segments(x0=xx, y0=-1000, x1 = xx, y1 = yy,col="red") #vert segment
axis(1,xx,xx, col="red", col.lab="red",col.axis="red") #x-axis point
axis(2,yy,yy, col="red", col.lab="red",col.axis="red") #y-avis point
如果您希望第二段中的垂直红线停在0处(如示例所示),请使用:
segments(x0=xx, y0=min(y), x1 = xx, y1 = yy,col="red") #vert segment