r - 在 R 中使用 ggplot2 添加部分水平线

标签 r ggplot2

我有以下数据:

mydf = read.table(text="
name a b
x 10 15
y 20 25
z 35 45
", header = T)

我想创建一个情节如下:

plot example

我无法在 x=50 处添加从点到垂直线的水平线。这些线(蓝色)是在上图中手动绘制的。我尝试了以下代码,但它不起作用:
ggplot(mydf, aes(a, b)) + geom_point()+ 
     geom_vline(xintercept=50)+ 
     geom_line(aes(x=50,y=b, group=name))

最佳答案

试试 geom_segment :

ggplot(mydf, aes(a, b)) +
  geom_point()+ 
  geom_vline(xintercept=50) + 
  geom_segment(aes(x=a, xend=50, y=b, yend=b), colour="blue")

plot

关于r - 在 R 中使用 ggplot2 添加部分水平线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30804477/

相关文章:

r - `names(df[1]) <- ` 和 `names(df)[1] <- ` 的区别

r - 如何在 rmarkdown 的 ioslides 演示文稿的标题中强制换行?

r - 在同一个 ggplot 中拥有两种图形

r - 将 y aesthetic 设置为数据框的行数

r - 在子集函数中使用 select=-c() 给出错误 : invalid argument to unary operator

r - 与 ifelse 和 is.na 交叉变异

r - 从 POSIXct 对象中减去一年

r - 使用 coord_fixed 时如何为 ggplot2 中的整个背景着色

r - 将边际总数添加到 R 中的 ggplot 热图

r - 添加 geom_hline 图例而不搞乱 geom_line 图例