代码是这样的:
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))
以上所有代码都可以。但我想在&#34; bb&#34;中添加vline。和&#34; cc&#34;。因此,请使用以下代码:
v <- c("bb", "cc")
p <- p + geom_vline(xintercept=c)
因为我没有足够的权利提出图像。但是任何运行代码的人都可以看到vline没有像我们想象的那样显示。
我尝试使用as.numeric,就像x轴是Date一样,但它失败了。我也尝试使用v&lt; -c(2,3),但它也失败了。
那么当x轴是字符串时如何使用geom_vline?
答案 0 :(得分:3)
geom_vline
的文档可以改进。你不能传递它的字符。
v <- factor(c("bb", "cc"),
levels=c("aa", "bb", "cc", "dd"))
p + geom_vline(xintercept = as.integer(v))