如何在密度图中插入带有qplot的图例

时间:2016-10-10 20:53:52

标签: r ggplot2 legend

我是R的新手,想要插入一个简单的彩色框传奇,将每个发行版标识为" data.1"和" data.2",在以下qplot绘图功能中(来自ggplot2包):

> V1 <- matrix(unlist(rnorm(200,-0.2,1)))
> V2 <- matrix(unlist(rnorm(200,0.3,4)))
> m <- data.frame(V1,V2)
> qplot(V1, main="Observed distr.", data=m,
geom='density',xlab="x",ylab="count",fill=I('green'), alpha=I(.5)) +
geom_density(aes(V2),data=m,fill='red', alpha=I(.5))

我找到ggplot的解决方案,qplot geom='density'找不到解决方案。曲线绘制得很好,但没有出现图例 我会接受任何解决方案,它给我一个透明度,标记轴,标题和彩色框图例的密度图。谢谢。

1 个答案:

答案 0 :(得分:1)

正如someone所说,&#34; ggplot喜欢长期&#39;中的数据。 format:即每个维度的列,每个观察的行&#34; 。所以我们melt data.frame

require(ggplot2)
require(data.table)
set.seed(10) # this is so you get the same numbers from rnorm.
m <- data.frame(V1 = matrix(unlist(rnorm(200, -0.2, 1))),
                V2 = matrix(unlist(rnorm(200, 0.3, 4))))

m <- melt(m) # This comes from data.table, yet, many alt. ways to achieve this
head(m)
  variable       value
1       V1 -0.18125383
2       V1 -0.38425254
3       V1 -1.57133055
4       V1 -0.79916772
5       V1  0.09454513
6       V1  0.18979430

ggplot(data = m, aes(value, fill = variable)) +
  geom_density(alpha = 0.5)

enter image description here