无法将图例添加到具有多个组的密度图

时间:2014-02-17 07:36:32

标签: r ggplot2

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"))

图例中没有出现图例,也没有错误信息。我该怎么办才能有传奇?

1 个答案:

答案 0 :(得分:3)

正如先前关于ggplot2的传说的问题(herehere)所解释的那样,如果您需要为使用多个geom_...调用的情节制作图例,那么美学( linetype)应放在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