我在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="")
正如你所看到的情节有默认颜色,而且情节图也是默认颜色。我想说repo
的黄色和revrepo
的dodgerblue以及{{1}的深蓝色。这些颜色也应该反映在图例中。底线是如何在上面的图中获得自定义颜色。
在早期的堆栈溢出qs - How to match legend colors and plot colors in overlapping area plots in ggplot2问题中,获得了图例颜色以匹配默认的重叠区域图,但这里的问题是不同的....如何获得不同的用户定义颜色绘制而不是ggplot2给出的默认颜色。
答案 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="")