ggplot2,如何控制线型和颜色

时间:2016-08-11 16:42:35

标签: r ggplot2

我有四个时间序列变量,我想将它们全部绘制在一个图表中。我想用实线绘制两个变量,用虚线绘制另一个两个变量。实线为红色和蓝色,虚线为黑色和棕色。我想知道是否有人可以帮助编码?我现在有以下几点:

data1 = melt(data, id = 'Year')
ggplot(data1, aes(x = Year, y = value,colour=variable)) + 
  geom_line() +
  ylab(label="Index") + xlab("") + 
  scale_colour_manual(values = c("red","blue","black", "brown"),labels = c("ES","LS","Wax","EP"))+
  theme(legend.position=c(0.15,0.85),legend.title=element_blank(),legend.background = element_rect(fill=NULL))

此代码仅生成实线图形。

1 个答案:

答案 0 :(得分:1)

我以为我可以用这个

重新创建看起来与data1相似的东西
data1=data.frame(Year=1:100,value=rnorm(100),variable=factor(floor(4*runif(100)+1)))

您需要更改线型的是 scale_linetype_manual()功能。

例如在您的问题中,我的回答是

library(ggplot2)
ggplot(data1, aes(x = Year, y = value,colour=variable)) + 
  geom_line(aes(linetype=variable)) +
  ylab(label="Index") + xlab("") +
  scale_linetype_manual(values=c("solid", "solid","dashed", "dashed"),labels=c("ES","LS","Wax","EP")) +
  scale_colour_manual(values = c("red","blue","black", "brown"),labels=c("ES","LS","Wax","EP"))+
  theme(legend.position=c(0.15,0.85),legend.title=element_blank(),legend.background = element_rect(fill=NULL))

哪个产生: Graph with legend