我想用ggplot2做5行不同的线图。我使用了以下代码。
plot <- ggplot() +
geom_line(data=MS, aes(x=date, y=MSCI.World.PI, color='MS')) +
geom_line(data=S, aes(x=date, y=SandP.TR, color='S')) +
geom_line(data=BR, aes(x=date, y=MSCI.BRIC.PI, color='BR')) +
geom_line(data=HF, aes(x=date, y=HFRX, color='HF')) +
geom_line(data=LP, aes(x=date, y=LPX50.TR, color='LP')) +
scale_color_manual(values = c("red", "blue", "green", "yellow", "violet" )) +
labs(color="Indices") +
xlab('Time') +
ylab('Price')
plot
结果如下: RequireJs text plugin
“错误”部分是,颜色未按预期排序,这意味着第一行(“MS”)未分配给第一种颜色(“红色”)。似乎该行按字母顺序分配给颜色。
有没有什么方法可以改变分配方式,第一行分别是scale_color_manuel语句中的第一种颜色,第二种颜色分配给第二种颜色等等?
答案 0 :(得分:5)
将颜色指定为命名向量可以解决问题,并使映射显式:
scale_color_manual(
values = c(
MS="red",
S="blue",
BR="green",
HF="yellow",
LP="violet" ))