我想做一个密度值的直方图,并用密度函数的曲线(而不是密度估计)覆盖。覆盖直方图与密度曲线
使用一个简单的标准正常的例子,这里是一些数据:
x <- rnorm(1000)
我可以这样做:
q <- qplot(x, geom="histogram")
q + stat_function(fun = dnorm)
但是这给直方图的规模,频率和密度不。与..density..
我能得到适当的规模直方图:
q <- qplot(x,..density.., geom="histogram")
q
但现在这给出了一个错误:
q + stat_function(fun = dnorm)
有什么我没有看到?
另一个问题,有没有一种方法来绘制函数的曲线,如curve()
,但不是作为图层?
的问题是,您已经定义'qplot'里面使用..density ..的全局y。这混淆了'stat_function'。最简单的解决方法是编写'qplot(x,geom ='blank')+ geom_histogram(aes(y = ..density ..))+ stat_function(fun = dnorm)'。看到我的详细回答如下 – Ramnath 2011-04-16 17:05:29
等同于'curve(dnorm,-4,4)'将会是'qplot(x = -4:4,stat ='function',fun = dnorm,geom ='line')' – Ramnath 2011-04-16 17:08:40
啊对了,我试着用函数作为第一个参数,但现在看到出了什么问题。谢谢! – 2011-04-16 17:13:51