ggplot - 多个图层中的自定义图例不起作用

时间:2015-12-03 11:31:17

标签: r ggplot2

我希望为我的图表制作自定义图例,并参考了这两篇文章 posts posts

我试过了,但它没有用

@Override
    protected void onPostExecute(String response) {

       ((OnFTPResult)ctx).onActionPerformed(response);

    }

这是我的原始代码,其图形如下enter image description here

要添加图例,我更改了这样的代码

g2=ggplot(data=juga, aes(x=Date, group=0))+
geom_line(aes(y=Dow),colour="cornflowerblue")+
geom_line(aes(y=NASDAQ),colour="firebrick2")+
geom_line(aes(y=S.P.500),colour="gold2")+
geom_line(aes(y=Nikkei.225),colour="gray69")+
geom_line(aes(y=Shanghai),colour="forestgreen")+
geom_line(aes(y=KOSPI),colour="black")+
xlab("Dates") +ylab("Values")+
ggtitle("Juga graph") 
g2

但是这段代码会产生错误

  

grDevices :: col2rgb(color,TRUE)出错:颜色名称无效' A'

我该如何修复它们?

1 个答案:

答案 0 :(得分:0)

试试这个:

library(reshape2)

df <- melt(juga,id.vars="Date")
cols <- c("Dow"="cornflowerblue","NASDAQ"="firebrick2","S.P.500"="gold2",
          "Nikkei.225"="gray69","Shanghai"="forestgreen","KOSPI"="black")

g2 <- ggplot(df,aes(x=Date,y=value,group=variable,color=variable))+
  geom_line()+xlab("Dates")+ylab("Values")+ggtitle("Juga graph")+theme_bw()
  scale_colour_manual(values=cols)

此外,如果您的日期尚未采用日期格式,我建议您进行转换,以便日期在x轴上可见。我真的看不出他们目前的格式,但你可以做一些像:

df$Date <- as.Date(df$Date)