如何将 geom_vline 与字符串 x-xis 一起使用

How can I use geom_vline with string x-xis

代码是这样的:

dt5 <- data.frame(x=c("aa", "bb", "cc", "dd"), y=c(1,2,3,4))
p <- ggplot(dt5)    
p <- p + geom_point(aes(x=x, y=y, group=x))

以上所有代码都可以正常工作。但是我想在"bb"和"cc"中添加vline。所以使用下面的代码:

v <- c("bb", "cc")
p <- p + geom_vline(xintercept=c)

因为我没有足够的权限来张贴图片。但是 运行 代码的任何人都可以看到 vline 并没有像我们想象的那样显示出来。

我试过使用as.numeric就像x轴是日期一样,但是失败了。我也试过使用 v <- c(2, 3),但也失败了。

那么当x轴为字符串时如何使用geom_vline?

geom_vline 的文档可以改进。你不能给它传递字符。

v <- factor(c("bb", "cc"), 
            levels=c("aa", "bb", "cc", "dd"))

p + geom_vline(xintercept = as.integer(v))