2014-02-17 40 views
0
vec1 <- data.frame(x=rnorm(30)) 
vec2 <- data.frame(x=rnorm(100)) 
vec3 <- data.frame(x=rnorm(180)) 

ggplot() + 
geom_density(aes(x=x), linetype="solid", data=vec1) + 
geom_density(aes(x=x), linetype="dashed", data=vec2) + 
geom_density(aes(x=x), linetype="dotted", data=vec3) + 
scale_linetype_manual(name="groups",values = c(vec1="solid", vec2="dashed", vec3="dotted")) 

圖例未出現在圖中,也沒有錯誤消息。我該怎麼做傳奇?無法將圖例添加到具有多個組的密度圖

+0

[這裏](http://stackoverflow.com/questions/20378276/legend-does-not-show-line-type-in​​-ggplot2-density-plot)是另一種答案。 –

+0

不明白爲什麼你們正在關閉這個問題......我在其他答案中試圖scale_colour_manual scale_linetype_manual,但它不起作用。 – vitor

+0

您是否在每個geom_density()的aes()中放入了linetype =「vec1」,linetype =「vec2」和linetype =「vec3」??? –

回答

3

如同在GGPLOT2傳說以前的問題(herehere)已經說明,如果你需要做的傳說爲使用的geom_...幾個電話,美學(線型)情節應放在aes()裏面添加他們傳奇。

ggplot() + 
    geom_density(aes(x=x,linetype="vec1"), data=vec1) + 
    geom_density(aes(x=x,linetype="vec2"), data=vec2) + 
    geom_density(aes(x=x,linetype="vec3"), data=vec3) + 
    scale_linetype_manual(name="groups", 
      values = c(vec1="solid", vec2="dashed", vec3="dotted")) 

enter image description here