2016-08-11 808 views
-2

我有四個時間序列變量,我想將它們全部繪製在一張圖中。我想用實線繪製兩個變量,用虛線繪製另一個變量。實線爲紅色和藍色,虛線爲黑色和棕色。我想知道是否有人可以幫助編碼?我現在有以下幾種: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)) 

此代碼只生成一條只有實線的圖形。

+0

這是必須知道data1'的'結構爲這個問題可以回答。 –

+0

@MatthewDrury,它是時間序列,每個變量有214個年度觀察值。謝謝。 – london

+1

Google「ggplot2線型」。 – AlexR

回答

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

+0

非常感謝。我如何放置圖例名稱?您能否通過放置傳說名稱來編輯答案,以便答案完整,然後將其標記爲答案。 – london

+0

完成;) 如果我可以添加,你基本上只需要爲每個* scale_XXX_manual()*放置相同的標籤。 – Arault