【发布时间】:2015-12-03 11:31:16
【问题描述】:
我希望为我的图表制作自定义图例,我参考了这两个帖子 posts posts
试过了,还是不行
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
为了添加图例,我更改了这样的代码
cols <- c("A"="cornflowerblue","B"="firebrick2","C"="gold2", "D"="gray69", "E"="forestgreen", "F"="black")
g2=ggplot(data=juga, aes(x=Date, group=0))+
geom_line(aes(y=Dow),colour="A")+
geom_line(aes(y=NASDAQ),colour="B")+
geom_line(aes(y=S.P.500),colour="C")+
geom_line(aes(y=Nikkei.225),colour="D")+
geom_line(aes(y=Shanghai),colour="E")+
geom_line(aes(y=KOSPI),colour="F")+
scale_colour_manual(values=cols)+xlab("Dates") +ylab("Values")+
ggtitle("Juga graph")
g2
但是这段代码会出错
grDevices::col2rgb(color, TRUE) 中的错误:颜色名称“A”无效
我该如何解决?
【问题讨论】:
-
首先,我建议您提供一个可重现的示例 - 就像您引用的帖子中一样。
-
也许更容易的是
melt数据,然后根据您的组(变量)使用group并将color内的aes设置为您的变量。然后你可以手动指定颜色,避免多放5个geom_line。