我首先绘制一组模拟数据的直方图,并用一种颜色填充条形图 . 然后我添加了模拟数据的密度函数的线,并使用不同的颜色生成线 . 现在我想使用图例来显示一种颜色(直方图的填充颜色)用于样本,而另一种颜色(线的颜色)用于理论密度 . 我怎样才能做到这一点?
代码如下
require(ggplot2)
df <- data.frame(x=rnorm(10^4))
p <- ggplot(df, aes(x=x)) + geom_histogram(aes(y=..density..), fill='steelblue', colour='black', alpha=0.8, width=0.2)
x <- seq(-4, 4, 0.01)
df <- data.frame(x=x, y=dnorm(x))
p <- p + geom_line(data=df, aes(x=x, y=y), colour='red', size=1.5)
p
2 回答
根本不更改数据,您可以指定以后可以通过手动比例定义的文字
aes()
值 .您可以通过在每个数据框中添加一个新列来创建
fill
和colour
美学以进入图例 . 在每种情况下,只有一个类别,但将它们放在aes()
中可以为您提供所需的图例: