如何在ggplot2中的重叠区域图中将绘图颜色从默认颜色更改为自定义颜色

时间:2016-01-08 07:48:48

标签: r

我在ggplot2中创建了以下重叠区域图:

head(MP_rates_dateformat) 
         Month repo revrepo bankrate  CRR Callrate   WPI  GDP  FED width
1   2001-04-01 9.00    6.75     7.00 8.00     7.49  5.41  4.6 4.50   225
2   2001-05-01 8.75    6.50     7.00 7.50     8.03  5.60  4.6 4.00   225
3   2001-06-01 8.50    6.50     7.00 7.50     7.24  5.30  4.6 3.75   200
4   2001-07-01 8.50    6.50     7.00 7.50     7.19  5.23  5.3 3.75   200
5   2001-08-01 8.50    6.50     7.00 7.50     6.94  5.41  5.3 3.50   200

library("tidyr")

long_DF<- MP_rates_dateformat[,1:3] %>% gather(variable, value, -Month)
head(long_DF)

       Month variable value
1 2001-04-01     repo  9.00
2 2001-05-01     repo  8.75
3 2001-06-01     repo  8.50
4 2001-07-01     repo  8.50
5 2001-08-01     repo  8.50
6 2001-09-01     repo  8.50

library("ggplot2") 

ggplot(data = long_DF, aes(x = Month)) +
geom_area(aes(y = value, fill = variable), position = "identity") + 
labs(fill="") + xlab('\nYears') + ylab('LAF Rates (%)\n') +   labs(title="Overlapping - Repo & Reverse Repo\n")+ geom_line(data = MP_rates_dateformat, aes(x=Month, y=width/100, color = "width"),size=1.05)+ labs(color="")

enter image description here

正如你所看到的情节有默认颜色,而且情节图也是默认颜色。我想说repo的黄色和revrepo的dodgerblue以及{{1}的深蓝色。这些颜色也应该反映在图例中。底线是如何在上面的图中获得自定义颜色。

在早期的堆栈溢出qs - How to match legend colors and plot colors in overlapping area plots in ggplot2问题中,获得了图例颜色以匹配默认的重叠区域图,但这里的问题是不同的....如何获得不同的用户定义颜色绘制而不是ggplot2给出的默认颜色。

1 个答案:

答案 0 :(得分:0)

得到了......

library("ggplot2") 
ggplot(data = long_DF, aes(x = Month)) +
geom_area(aes(y = value, fill = variable), position = "identity") +   scale_fill_manual(values=c("yellowgreen","dodgerblue")) + labs(fill="") +   xlab('\nYears') + ylab('LAF Rates (%)\n') + 
labs(title="Overlapping - Repo & Reverse Repo\n")+ geom_line(data =  MP_rates_dateformat, aes(x=Month, y=width/100, color = "Width"),size=1.05)+ scale_color_manual(values="darkblue")+ labs(color="")

enter image description here