Легенда для первичной и вторичной яси - PullRequest
0 голосов
/ 16 апреля 2019

Вывод моей мечты: разные графики (линейные и линейные) на одном графике с двумя осями Y и легендами для всех значений (важно! Я хочу, чтобы все графы были в черном и сером цветах).

Я сделал график, который отражал то, что я хотел получить, но первоначальная проблема заключалась в том, что я не мог добавить «легенду» к графику ... Поиск возможных решений, наконец, я нашел, как добавить легенду, но затем я встретил По другой причине, мои графики изменили цвет (гистограмма стала розовой, а линейные графики изменили типы линий для «пунктирной»), и, наконец, легенда не соответствовала цветам графика.

Это мой ФИНАЛЬНЫЙ код:

library(scales)
 library(ggplot2)
 library(reshape2)
 library(tidyverse)


 s <-ggplot(data = e, aes(x = year))+
   geom_col(aes(y = users, fill="Users"), color="black")+
   geom_line(aes(x=year, y=pr31_44 *500000/25, linetype = "31-44 age group"),color="grey30", size=2.0)+
   geom_line(aes(x=year, y=pr45_64 *500000/25, linetype = "45-64 age group"),color="grey5", size=2.0)+
   geom_line(aes(x=year, y=pr65 *500000/25, linetype = "65+ age group"),color="darkgrey", size=2.0) +
   scale_y_continuous(labels = comma,breaks = c(100000,200000,300000,400000,500000), 
                      sec.axis = sec_axis(~ . * 25/500000, name = "Rates", breaks=c(5,10,15,20,25)))+
   scale_x_continuous(breaks = e$year) +
   theme(axis.text.x = element_text(angle = 90))+
   labs(x="Year", y="Number of users")
 s

Проблемы: 1. розовый барплот 2. Легенда не соответствует цветам линейных графиков

Мой ПРЕДЫДУЩИЙ код, с графиком, который я хотел, был следующим:

s <-ggplot(data = e, aes(x = year))+
   geom_col(aes(y = users), fill="black", color="black")+
   geom_line(aes(x=year, y=pr31_44 *500000/25),color="grey30", size=2.0)+
   geom_line(aes(x=year, y=pr45_64 *500000/25),color="grey10", size=2.0)+
   geom_line(aes(x=year, y=pr65 *500000/25),color="darkgrey", size=2.0) +
   scale_y_continuous(labels = comma,breaks = c(100000,200000,300000,400000,500000), 
                      sec.axis = sec_axis(~ . * 25/500000, name = "Rates", breaks=c(5,10,15,20,25)))+
   scale_x_continuous(breaks = e$year) +
   theme(axis.text.x = element_text(angle = 90))+
   labs(x="Year", y="Number of users")
   s

Проблема заключалась в том, что я пропустил легенду для обеих осей y.

В качестве общего примера такого рода графиков, пожалуйста, откройте ссылку ниже: enter image description here

С наилучшими пожеланиями, Mona

...