使用 ggplot2 绘制两条密度曲线的线图例
Plotting line legend for two density curves with ggplot2
这是我的问题,我想在同一个图上用 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
这段代码给出了我想要的,但没有图例:我想要一些东西来指示红线和蓝线的含义。
我该怎么做?
一种方法是将两个系列组合成一个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)
这是我的问题,我想在同一个图上用 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
这段代码给出了我想要的,但没有图例:我想要一些东西来指示红线和蓝线的含义。
我该怎么做?
一种方法是将两个系列组合成一个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)