有worked example显示如何使用ggplot2标记R中的直线。请看例5 - “按经度重新创建以下飞行量图”。
如果x轴是分类而不是连续的,你如何编码?如何在当前
的geom_text中编写语法部分data = data.frame(x = - 119, y = 0)
我创建了一行
+ geom_text(aes(x,y, label = "seronegative"),
data = data.frame(x = 1, y = 20),
size = 4, hjust = 0, vjust = 0, angle = 0)
我尝试了几个选项
data = data.frame(x = 1, y = 20)
data = data.frame(x = factor(1), y = 20)
#where gard is the name of one of the categories
data = data.frame(x = "gard", y = 20)
...但我收到了错误
一元运算符的无效参数
答案 0 :(得分:4)
我并不完全清楚你要做什么,因为你说你试图创建一行,然后你的代码使用geom_text
。假设您想要使用分类x变量放置一条垂直线,并在该线上垂直定向文本标签,这是一个简单的示例:
dat <- data.frame(x = letters[1:5],y = 1:5)
txt <- data.frame(x = 1.5, y = 1, lab = "label")
ggplot(dat,aes(x = x, y = y)) +
geom_point() +
geom_vline(xintercept = 1.5) +
geom_text(data = txt,aes(label = lab),angle = 90, hjust = 0, vjust = 0)
在我的机器上生成此输出:
请注意,我将文本标签放在单独的数据框中,在 ggplot
调用之外。这不是绝对必要的,但我更喜欢它,因为我发现它避免混淆。
在此处使用x值1.5作为文本标签,如果您想直接在绘制的x值上设置它,则将其设置为“a”。
您所描述的错误在我的代码中向您提出了一个简单的语法错误(您尚未完全提供)。也许这个例子可以帮助你发现它。