添加指数曲线到绘图

时间:2016-10-10 05:39:12

标签: r plot curve exponential

我希望在我的情节中添加一条曲线,以显示随时间的指数减少。我用基本的plot()函数绘制了两组小数据,为了清楚起见,我想添加一条平滑的线。 两个数据集的数据点是

1.00000 0.37360 0.27688 0.22992 0.17512 0.13768 0.08048
1.00000000 0.44283122 0.30871143 0.23647913 0.22586207 0.09800363 0.06206897

x值显示随时间的衰减(0,1,2,3,4,5,6)

plot

1 个答案:

答案 0 :(得分:0)

我喜欢使用ggplot2,因为它使拟合模型中的线条变得如此简单。

没有太多可以继续以下内容可能会帮助你....

#prepare the data
y <- c(1.00000, 0.37360, 0.27688, 0.22992, 0.17512, 0.13768, 0.08048,
   1.00000000, 0.44283122, 0.30871143, 0.23647913, 0.22586207, 0.09800363, 0.06206897)
x <- c(0,1,2,3,4,5,6,0,1,2,3,4,5,6)
z <- c(1,1,1,1,1,1,1,0,0,0,0,0,0,0)


dat <- as.data.frame(cbind(x,y,z))

#load the library
library(ggplot2)

#plot the data
ggplot(data=dat,aes(x=x,y=y))+

#add Points with different shapes depending on factor z
geom_point(aes(shape=factor(z)))+

#Add line using non-linear regreassion
stat_smooth(method="nls",formula =  y~a*exp(-x*b),method.args=list(start=c(a=2,b=2)),se=F,color="red")+

#add line using linear regression
stat_smooth(method="lm",formula =  y~exp(-x),se=F,color="blue")