Как я могу оттолкнуть имя метки от сюжета в ggplot2

У меня есть диаграмма, где я хочу показать имена меток. Проблема в том, что я хочу отклонить эти имена меток, чтобы сделать их за пределами диаграммы. Я пробовал geom_text_repel из пакета ggrepel, но он отталкивает ярлыки, когда они накладываются друг на друга.

Также попробовал такой совет: ">Отклонить метку и текст геометрии в ggplot. И упорядочивание точек геометрии в зависимости от размера

И не получил никакой исчерпывающей информации о решении моей проблемы.

Образец:

mtdata <- mtcars %>%
  rownames_to_column(var = "name") %>%
  mutate(cyl = as.factor(cyl))

ggplot(mtdata, aes(x = cyl, y = mpg)) + geom_boxplot() +
  geom_text_repel(data = mtdata %>%
               filter(mpg > 20 & wt >3), aes(label = name))

Желаемый результат:

введите здесь описание изображения

Итак, вы можете видеть, что есть точка, которая изображает точное положение метки и отталкивание.


person k1rgas    schedule 08.02.2021    source источник


Ответы (1)


Дерзким решением будет простой толчок.

library(tidyverse)
mtdata <- mtcars %>%
  rownames_to_column(var = "name") %>%
  mutate(cyl = as.factor(cyl))

ggplot(mtdata, aes(x = cyl, y = mpg)) + geom_boxplot() +
  ggrepel::geom_text_repel(data = mtdata %>%
                    filter(mpg > 20 & wt >3), aes(label = name), nudge_x = .75)

Создана 08 февраля 2021 г. с помощью пакета reprex (v0.3.0)

person tjebo    schedule 08.02.2021
comment
Большое спасибо, @tjebo! Мне помог этот. Может быть, вы также знаете, можно ли сделать шрифт lables жирным? Я пробовал theme(text = element_text(face="bold"), но это не сработало. - person k1rgas; 08.02.2021
comment
@k1rgas см., может быть, мой ответ на ваш предыдущий вопрос, я уверен, что вы можете сделать это и с пакетом ggtext - person tjebo; 08.02.2021
comment
stackoverflow.com /questions/66101889/ для дальнейшего использования - person tjebo; 08.02.2021
comment
ок, понял. К сожалению, мне не подходит. Но спасибо! - person k1rgas; 08.02.2021