有没有简单的方法可以在ggplot中设置垂直或水平线的限制?

时间:2018-12-21 14:36:00

标签: r ggplot2

我要绘制geom_vlinegeom_hline的一部分,代码如下:

df <- data.frame(x=1:10,y=1:10)
plt <- ggplot(data=df)+
  geom_point(aes(x=x,y=y))+
  geom_vline(aes(xintercept=x[2]))+
  geom_hline(aes(yintercept=y[2]))

我希望将左下部线条显示为交叉点。 但xlim

中没有诸如ylimgeom_vline之类的参数

enter image description here

1 个答案:

答案 0 :(得分:2)

您可以使用geom_line

library(ggplot2)

df <- data.frame(x=1:10,y=1:10)
plt <- ggplot(data=df)+
  geom_point(aes(x = x, y = y))+
  geom_line(data = data.frame(x = c(2, Inf), y = c(2, 2)), aes(x = x , y = y)) +
  geom_line(data = data.frame(x = c(2, 2), y = c(2, Inf)), aes(x = x, y = y)) 

geom_segment。他们导致了相同的情节。

plt <- ggplot(data=df)+
  geom_point(aes(x = x, y = y))+
  geom_segment(aes(x = 2 , y = 2, xend = Inf, yend = 2)) +
  geom_segment(aes(x = 2 , y = 2, xend = 2, yend = Inf))

enter image description here