Как выровнять метку по левому краю с помощью geom_text_repel
? В приведенном ниже примере я хотел бы, чтобы слово «очень» было под словом «этот». Здесь я использую параметр выравнивания по левому краю, т. е. hjust = 0
library(tidyverse)
library(ggrepel)
mtcars %>%
ggplot(aes(hp, drat, label = "this label is so long \n very long \n very long")) +
geom_line() +
geom_text_repel(data = mtcars %>%
filter(hp == max(hp)),
nudge_x = 0.4,
segment.color = 'transparent',
size = 3,
force =0.2,
hjust = 0)
Возможно, мне придется подойти к этой проблеме, используя annotate
вместо ggrepel
, см. Оправдание строк текста внутри отдельных ярлыков ggrepel , но ggrepel
предпочтительнее
Другим вариантом может быть использование grid::grid.gedit
, но я не понимаю, как применить эту структуру к ggrepel
, см. - ggplot2: Как выровнять по левому краю текст из многострочных меток фасетов?
Изменить: проблема в этом вопросе аналогична Переопределить горизонтальное позиционирование с помощью ggrepel , но вопросы отличаются тем, что здесь я использую hjust = 0
, тогда как в другом вопросе используется hjust = "outward"
hjust = 0
было бы ожидаемым поведением выравнивать многострочные метки/текст по левому краю, а дляhjust = 1
— по правому краю. Я не могу придумать возможную причину, по которой кто-то захочет выровнять свой текст по левому краю (как показано в виньеткеggrepel
), но расположить последующие строки по центру! Если ни у кого нет простого решения, я бы открыл вопрос в проектеggrepel
github. - person Benjamin   schedule 30.05.2019