2

我想用 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

结果如下图: 对应的情节

“错误”部分是颜色没有按预期排序,这意味着第一行(“MS”)未分配给第一种颜色(“红色”)。似乎该行按字母顺序分配给颜色。

有什么方法可以改变分配,使第一行分配给 scale_color_manuel 语句中的第一种颜色,第二行分配给第二种颜色等等?

4

1 回答 1

9

将颜色指定为命名向量可以解决问题,并使映射明确:

scale_color_manual(
      values = c(
           MS="red",
           S="blue",
          BR="green",
          HF="yellow",
          LP="violet" ))
于 2016-01-08T16:52:27.410 回答