我想用R绘制密度函数并填充以下的区域它。我的例子是:未正确使用geom_area绘制的区域(某些区域有偏移)
library(ggplot2)
x = seq(-4, 4, 0.1)
y = dnorm(x, mean=0, sd=1)
myDF = data.frame(x,y,xfill=ifelse(x>-1,x,0))
p <- ggplot(myDF, aes(x,y))
p + geom_line(size=1) + geom_area(aes(x=xfill),fill="red")
它看起来像在RStudio中的以下图像。
我使用RStudio版本0.99.902与平台ř版本3.3.1(2016年6月21日):x86_64的-W64-的mingw32/64(64位)下运行:视窗> = 8 x64(内部版本9200)与包ggplot2_2.1.0
虽然创建这个问题我被链接到另一个问题here。现在改变根据的答案有一个的geom_area调用
geom_area(aes(x=xfill),fill="red", pos="identity")
最后减少与
x = seq(-4, 4, 0.01)
的X步长给我不知何故,我想要什么。
我的问题:
- 任何想法,为什么会存在这种问题在0附近的区域?
- 为什么'pos =“identity”'在这里帮助 - 仍然缺少一些区域?
- 我真的在这里解决了这个问题吗?
我在这里发现了另一个问题(或者可能是相同的),我将xfill设置为0,因为我不想绘制x值。通过设置它们不与最小值匹配来解决这个问题,在这种情况下:'myDF = data。frame(x,y,xfill = ifelse(x> -1,x,-1))' – Martin