Добавьте стрелку с заполненной головой в ggplot от geom_label_repel - PullRequest
5 голосов
/ 06 апреля 2020

Я хочу добавить стрелку с заполненной головой к с помощью функции geom_label_repel. Я думал, что мог бы использовать: arrow.fill = 'black', как я делаю с geom_segment, но он не работает в geom_label_repel. Это еще один способ получить заполненную стрелу?

Причина, по которой я использую geom_label_repel, заключается в том, что это был единственный способ, которым мне удалось запустить стрелку на границе метки. Если бы эту координату можно было найти другим способом, я мог бы использовать вместо нее geom_segment.

library(tidyverse)
library(ggrepel)

dmax <- iris %>%
  filter(Sepal.Length==max(Sepal.Length))

ggplot(data = iris, aes(x=Sepal.Width, y=Sepal.Length)) +
  geom_point() +
  geom_label_repel(data=dmax, aes(label = 'max'), 
                   box.padding = unit(.25, 'lines'), 
                   point.padding = unit(1.5, 'lines'), 
                   arrow = arrow(length = unit(0.25, 'cm'), type = 'closed')) +
  geom_segment(aes(x=3, xend=max(Sepal.Width), y=0, yend=max(Sepal.Width)), 
               arrow=arrow(length = unit(0.25, 'cm'), type = 'closed'), 
               arrow.fill = 'black')

Спасибо.

...