初级和次级yaxis的图例

时间:2019-04-15 21:43:19

标签: r legend

我的梦想输出:在一个带有两个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

以我最诚挚的问候, 莫娜

0 个答案:

没有答案