Как сделать выравнивание по левому краю при использовании разрывов строк с помощью ggrepel?

Как выровнять метку по левому краю с помощью 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"


person John-Henry    schedule 30.05.2019    source источник
comment
Я должен сказать, что для hjust = 0 было бы ожидаемым поведением выравнивать многострочные метки/текст по левому краю, а для hjust = 1 — по правому краю. Я не могу придумать возможную причину, по которой кто-то захочет выровнять свой текст по левому краю (как показано в виньетке ggrepel), но расположить последующие строки по центру! Если ни у кого нет простого решения, я бы открыл вопрос в проекте ggrepel github.   -  person Benjamin    schedule 30.05.2019
comment
См. Соответствующую проблему здесь: stackoverflow.com/questions/56028991 /   -  person teunbrand    schedule 30.05.2019