以下代码在ggplot2版本.9之前可以使用。这个方式现在不可行了吗?
df = data.frame(x = letters[1:26], y=abs(rnorm(26)))
ggplot(df, aes(x=x, y=y)) + geom_bar() + geom_vline(xintercept='m')
我遇到了以下错误:在执行
get(as.character(FUN), mode = "function", envir = envir)
时出错:
对象'm'的模式不是函数。我不确定(不记得)你的原始代码是否适用于旧版ggplot,但是你可以使用另一种方法,例如:
ggplot(df, aes(x=x, y=y)) + geom_bar() + geom_vline(xintercept=which(df$x == 'm'))
希望这能帮到您!!!
这篇回答主要讨论如何在自定义的分类x轴上添加竖线的更广泛问题。
我有五个组,每个组有五个因素。我想在每个组的最后一个因素后面添加4条竖线来区分这五个组(在本例中为'E'位置)。@dickoa 的方法对我的情况不起作用。当我使用:
geom_vline(xintercept=which(df$x == 'm'))
它只在第三组的“m”处添加垂直线。我发现我可以尝试这样做:
geom_vline(xintercept = c(1.5,2.5,3.5,4.5))
至少对于我的情况,这个方法非常有效。您可能需要尝试几次才能找到适合您情况的模式。
我一直想知道如何根据x/y轴的比例添加垂直/水平线。例如,xintercept = 0.5表示在x轴中间添加垂直线,xintercept = 0.25表示第一季度。然而,我找不到关���这个主题的任何知识。