Выровнять geom_text с geom_vline в ggplot2
Я использовал vjust
как обходной путь и разработал
допустимое расстояние путем попытки и ошибки. Но это иногда очень много времени и изменений
с размером шрифта и шкалой осей.
Есть ли лучший способ выровнять текст в примере автоматически?
library(ggplot2)
ggplot(data=mtcars, aes(x=hp, y=mpg))+
geom_point()+
theme_bw() +
geom_vline(xintercept=200, colour="grey") +
geom_text(aes(x=200, label="the strong cars", y=20), colour="blue", angle=90, vjust = 1.2, text=element_text(size=11))+
geom_text(aes(x=200, label="the weak cars", y=20), colour="red", angle=90, vjust = -1, text=element_text(size=11))
ggsave(filename="geomline.png", width=5.5, height=2*3, dpi=300)
![enter image description here]()
Ответы
Ответ 1
Другим решением для случая с одной строкой будет добавление разрыва строки до/после и сохранение значения по умолчанию vjust = 0.5.
ggplot(data=mtcars, aes(x=hp, y=mpg)) +
geom_point() +
theme_bw() +
geom_vline(xintercept=200, colour="grey") +
geom_text(aes(x=200, label="\nthe strong cars", y=20), colour="blue", angle=90, text=element_text(size=11)) +
geom_text(aes(x=200, label="the weak cars\n", y=20), colour="red", angle=90, text=element_text(size=11))