我想用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