Выравнивание и выравнивание текста geom_label_repel
Есть ли возможный обходной путь, чтобы выровнять по левому краю текстовую метку, созданную geom_label_repel
(или же geom_text_repel
) в примере ниже, где весь текст помещен с положительным nudge_x
значение и y-скорректированная позиция в direction
параметр? В настоящее время поведение по умолчанию - выравнивание текста по центру:
library(ggplot2)
library(ggrepel)
ggplot(mtcars, aes(x=factor(gear), y=mpg, colour=factor(gear))) +
geom_point(size=3) +
facet_wrap(~cyl, labeller=label_both) +
scale_x_discrete(expand=c(0, 1.5)) +
geom_label_repel(aes(label=rownames(mtcars)),
size=3, segment.size=0.25, nudge_x=0.5, direction="y")
Я хочу подражать левому выравниванию, которое возможно в geom_label
(или же geom_text
) установив hjust=0
как видно из примера ниже, при этом можно автоматически отталкивать метки в направлении y:
ggplot(mtcars, aes(x=factor(gear), y=mpg, colour=factor(gear))) +
geom_point(size=3) +
facet_wrap(~cyl, labeller=label_both) +
scale_x_discrete(expand=c(0, 1.5)) +
geom_label(aes(label=rownames(mtcars)), size=3, nudge_x=0.2, hjust=0)
Отредактировано: как взломать, возможно ли будет встроить hjust (и vjust) в ggrepel?
1 ответ
За 4 года с тех пор, как ОП опубликовал этот вопрос,
hjust=
вроде добавили в
ggrepel
упаковка:
library(ggplot2)
library(ggrepel)
ggplot(mtcars, aes(x=factor(gear), y=mpg, colour=factor(gear))) +
geom_point(size=3) +
facet_wrap(~cyl, labeller=label_both) +
scale_x_discrete(expand=c(0, 1.5)) +
geom_label_repel(
aes(label=rownames(mtcars)), hjust=0,
size=3, segment.size=0.25, nudge_x=0.5, direction="y")