【问题标题】:Plotting line legend for two density curves with ggplot2用ggplot2绘制两条密度曲线的线图例
【发布时间】:2015-06-16 06:53:40
【问题描述】:

这是我的问题,我想在 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

这段代码给了我我想要的东西,但没有图例:我想要一些东西来表明红线是什么意思,蓝线是什么意思。

我该怎么做?

【问题讨论】:

    标签: r plot ggplot2


    【解决方案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)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-23
      • 2015-09-19
      • 2018-02-22
      • 1970-01-01
      • 2013-09-07
      • 2017-03-30
      相关资源
      最近更新 更多