Мне не совсем понятно, что вы пытаетесь сделать, поскольку вы говорите, что пытаетесь создать строку, а затем ваш код использует 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, как если бы вы установили его на «a», если вы хотите, чтобы оно было указано непосредственно на нанесенных значениях x.
Ошибка, которую вы описываете, подсказывает мне простую синтаксическую ошибку где-то в вашем коде (которую вы не предоставили полностью). Возможно, этот пример поможет вам определить это.