Как выровнять символ легенды с обернутым текстом легенды на ggplot2 - PullRequest
0 голосов
/ 29 января 2019

Есть ли способ выровнять символ легенды (красная, зеленая или синяя точка) с первой строкой текста легенды на этом примере графика?(взято из eipi10 Несколько строк для текста на ярлык легенды в ggplot2 )

library(stringr)
library(tidyverse)

# Create long labels to be wrapped
iris$Species = paste(iris$Species, 
                     "random text to make the labels much much longer than the original labels")

ggplot(iris, aes(Sepal.Length, Sepal.Width, colour=str_wrap(Species,20))) +
  geom_point() +
  labs(colour="Long title shortened\nwith wrapping") +
  theme(legend.key.height=unit(2, "cm"))

Plot with wrapped legend text

Это вопрос деталей, нона этом настоял соавтор.

1 Ответ

0 голосов
/ 29 января 2019

Вот одно решение, которое является своего рода взломом, изменив цвет фона на белый и используя vjust.Я не смог найти простой способ выровнять точку сверху в рамке ...

library(stringr)
library(tidyverse)
# Create long labels to be wrapped
iris$Species = paste(iris$Species, 
                     "random text to make the labels much much longer than the original labels")

ggplot(iris, aes(Sepal.Length, Sepal.Width, colour=str_wrap(Species,20))) +
  geom_point() +
  labs(colour="Long title shortened\nwith wrapping") +
    theme(legend.key.height=unit(2, "cm"), legend.key = element_rect(fill = "white")) +
  guides(colour = guide_legend(label.vjust = -1, label.position = "right"))

Создано в 2019-01-28 Представить пакет (v0.2.1)

...