我正在尋找ggplot的方式來繪製概率密度函數(或任何函數)。我曾經使用R中的舊plot()
函數來完成此操作。例如,繪製與alpha=1
和beta=1
(統一)β分佈:如何使用ggplot繪製概率密度?
x <- seq(0,1,length=100)
db <- dbeta(x, 1, 1)
plot(x, db, type='l')
我怎樣才能做到這一點在ggplot?
我正在尋找ggplot的方式來繪製概率密度函數(或任何函數)。我曾經使用R中的舊plot()
函數來完成此操作。例如,繪製與alpha=1
和beta=1
(統一)β分佈:如何使用ggplot繪製概率密度?
x <- seq(0,1,length=100)
db <- dbeta(x, 1, 1)
plot(x, db, type='l')
我怎樣才能做到這一點在ggplot?
library(ggplot2)
x <- seq(0,1,length=100)
db <- dbeta(x, 1, 1)
可以使用qplot功能GGPLOT2內做出迅速情節
qplot(x, db, geom="line")
,或者你可以將geom_line層到ggplot添加
ggplot() + geom_line(aes(x,db))
GGPLOT2有stat_function()
功能以與curve()
相同的方式在圖上疊加功能。在我意識到如何使用由統計生成的變量---在這裏..y..
之前,我掙扎了一點點,以使其無需生成數據。
require(ggplot2)
x <- seq(0, 1, len = 100)
p <- qplot(x, geom = "blank")
stat <- stat_function(aes(x = x, y = ..y..), fun = dbeta, colour="red", n = 100,
args = list(shape1 = 2, shape2 = 2))
p + stat
您的意思是'要求(GGPLOT2)'或'庫(GGPLOT2)'在你的答案的第一行:下面是類似於您與
curve(dbeta(x, shape1 = 2, shape2 = 2), col = "red")
得到了什麼? – 2010-10-08 20:26:42