R добавить легенду для нескольких слоев - PullRequest
0 голосов
/ 14 января 2019

Я хочу добавить легенду для сюжета, но она не работает, Может кто-нибудь, пожалуйста, помогите мне увидеть, где это пошло не так.

это код.

ggplot(data = dfNorm1, aes(x = X)) + 
  geom_col(aes(y = Government_suppliment), 
           fill = "#0000FF", color = "white", alpha = 0.8) + 
  geom_smooth(data = subset(dfNorm1,X >= 24), aes(y = Government_suppliment),
              method = "lm", se = FALSE, color = "#FF4040", 
              linetype = "dashed", size = 0.7) + 
  geom_smooth(data = subset(dfNorm1, X <= 24), aes(y = Government_suppliment),
              method = "lm", se = FALSE, color = "#FF4040", 
              linetype = "dashed", size = 0.7) + 
  geom_vline(xintercept = 24.5, size = 0.8, alpha = 0.8) + 
  geom_line(aes(y = Poverty_funds), 
            color = "#FF0000", size = 1, alpha = 0.7) + 
  geom_line(aes(y = MLI), color = "#EF3EFF", size = 1, 
            alpha = 0.8) + 
  scale_fill_manual(name = "",values = c("bar.label" = "#0000FF")) +
  scale_color_manual(name = "", values = c("line.label1" = "#FF0000", "line.label2" = "#EF3EFF",
                                           "line.labeld" = "#FF4040"))

1 Ответ

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

Обычно вы можете создать легенду, установив aes(color = column_title) в одном из слоев geom. Этот код не имеет особого смысла, потому что вы ссылаетесь более чем на одну ось Y, не создавая вторую ось Y (плохая привычка, если вы пытаетесь это сделать). Есть ли способ, которым вы можете опубликовать более подходящий код или воспроизводимый пример, чтобы люди могли точно видеть, что вы пытаетесь сделать?

...