我有四个时间序列变量,我想将它们全部绘制在一个图表中。我想用实线绘制两个变量,用虚线绘制另一个两个变量。实线为红色和蓝色,虚线为黑色和棕色。我想知道是否有人可以帮助编码?我现在有以下几点:
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))
此代码仅生成实线图形。
答案 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))