Вывод моей мечты: разные графики (линейные и линейные) на одном графике с двумя осями 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.
В качестве общего примера такого рода графиков, пожалуйста, откройте ссылку ниже:
С наилучшими пожеланиями,
Mona