2015-04-22 64 views
5

有沒有辦法在ggplot中繪製多項式函數而不必繪製包含沿感興趣曲線選定點的數據框?假設方程是x^3 + x^2 + x + 5我認爲這可以用geom_abline可以用來爲一個繪圖增加一條直線的方式做很多事情,但到目前爲止沒有運氣找到一個方法去做這個。我檢查了ggplot2 documentation,但沒有看到任何我認爲會有幫助的地方。 geom_abline似乎沒有延伸過直線。使用公式繪製ggplot中的多項式曲線,而不是數據點

我的最終目標是繪製來自獨立數據集的數據,並將此多項式曲線用作「參考標準」。下面的代碼有效地繪製了感興趣的曲線,但是通過繪製曲線上的值來實現,而不是直接使用該公式。

x <- 1:100 
y <- x^3+x^2+x+5 
dat <- as.data.frame(x,y) 
ggplot(dat, aes(x,y)) + geom_point() 
+0

到貝斯個n回答進一步的細節可以在這個崗位SO中找到。 http://stackoverflow.com/questions/5177846/equivalent-of-curve-for-ggplot –

回答

8

您正在尋找stat_function(),我想:

x <- 1:100 
dat <- data.frame(x,y=x^3+x^2+x+5) 
f <- function(x) x^3+x^2+x+5 
ggplot(dat, aes(x,y)) + 
    geom_point()+ 
    stat_function(fun=f, colour="red") 

enter image description here

+0

謝謝!這正是我一直在尋找的:) – tsurudak