我是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'
找不到解决方案。曲线绘制得很好,但没有出现图例
我会接受任何解决方案,它给我一个透明度,标记轴,标题和彩色框图例的密度图。谢谢。
答案 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)