这是我的问题,我想在R的同一个图上用线条图例显示两条密度曲线。
到目前为止,我确实设法在同一图上显示2条密度曲线
require(ggplot2)
a = rnorm(1000, 20, 2)
b = rnorm(3000, 25, 2)
p = ggplot()
p = p + geom_density(col="red", aes(x=a))
p = p + geom_density(col="blue", aes(x=b))
p
这段代码给了我想要的东西,但没有传说:我希望有一些东西可以表示红线是什么意思,蓝色代表什么意思。
我怎么能这样做?
答案 0 :(得分:1)
一种方法是将两个系列组合成一个data.frame
(可以内联完成,如下所示),添加一个将在图例中使用的列:
p <- ggplot(
rbind(
data.frame(x=a,type="a"),
data.frame(x=b,type="b")),
aes(x=x,color=type))+
geom_density()+
scale_color_manual(
values = c(
"a" = "red",
"b" = "blue"))
数据:
require(ggplot2)
a = rnorm(1000, 20, 2)
b = rnorm(3000, 25, 2)