Функция R (ggplot) для добавления «пустой» строки в существующую легенду, разделить легенду? - PullRequest
1 голос
/ 17 апреля 2020

Я сейчас работаю над сюжетом. Это все собирается вместе, но мне интересно об одном

Ответы [ 2 ]

2 голосов
/ 17 апреля 2020

Может ли это применяться к вашим данным?

library(tidyverse)

tib <- 
  tibble(x = 1:3,
         a = 1:3,
         b = 1.5:3.5,
         c = 2:4) %>% 
  pivot_longer(cols = a:c, names_to = "id", values_to = "val")


ggplot()+
  geom_line(data = filter(tib, id == "a"), aes(x, val, linetype = id))+
  geom_line(data = filter(tib, id != "a"), aes(x, val, colour = id))+
  labs(linetype = "legend", colour = NULL)


Дает вам: enter image description here

0 голосов
/ 18 апреля 2020

Один из вариантов - использовать stat_summary.

. Это добавит еще один эстет c к графику и, таким образом, еще одну легенду, далеко от другой.

airquality %>%
  mutate(Month=factor(Month)) %>%
  ggplot(aes(x=Day, y=Temp, col=Month)) +
  geom_line() +
  stat_summary(aes(lwd="Nederland totaal"), fun=mean, geom="line", col="black") +
  theme_classic() +
  theme(legend.title = element_blank()) + 
  guides(lwd = guide_legend(order = 1))

enter image description here

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

...