2014-01-24 135 views
1

我正面临一个可能相当容易解决的问题:将一个对数曲线添加到散点图。 我已经创建了相应的模型,现在只需要添加相应的曲线/线。绘制一个对数曲线到散点图

目前的模式如下:

### DATA 
SpStats_urbanform <- c (0.3702534,0.457769,0.3069843,0.3468263,0.420108,0.2548158,0.347664,0.4318018,0.3745645,0.3724192,0.4685135,0.2505839,0.1830535,0.3409849,0.1883303,0.4789871,0.3979671) 

co2 <- c (6.263937,7.729964,8.39634,8.12979,6.397212,64.755192,7.330138,7.729964,11.058834,7.463414,7.196863,93.377393,27.854284,9.081405,73.483949,12.850917,12.74407) 

### Plot initial plot 
plot (log10 (1) ~ log10 (1), col = "white", xlab = "PUSHc values", 
     ylab = "Corrected GHG emissions [t/cap]", xlim =c(0,xaxes), 
     ylim =c(0,yaxes), axes =F) 

axis(1, at=seq(0.05, xaxes, by=0.05), cex.axis=1.1) 
axis(2, at=seq(0, yaxes, by=1), cex.axis=1.1) 


### FIT 
fit_co2_urbanform <- lm (log10(co2) ~ log10(SpStats_urbanform)) 


### Add data points (used points() instead of simple plot() bc. of other code parts) 
points (co2_cap~SpStats_urbanform, axes = F, cex =1.3) 

现在,我已经全部fit_parameters和仍无法构建相应的装修曲线co2_cap(Y轴)〜SpStats_urbanform(X轴)

任何人都可以帮我完成这一小段代码?

+2

你更可能如果您提供可重复的示例,可以获得有用的回复。以下是关于如何进行的一些提示。 http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example –

+0

由于您可以从'fit_co2_urbanform'对象中检索斜率和截距,只需使用它们来绘制'y < - 拦截+斜率* log10(x)'与您选择的'x'值。附注:如果你使用'o'而不是'0'作为你的“二氧化碳”变量名称,你将在某一天遇到麻烦。 –

+0

嘿 - 非常感谢您的帮助。我改变了这个例子 - 它现在是一个正在运行的程序。 HOPEFULLY任何人都可以添加所需的LOG_CURVE ...感谢这么多!!!!! – user3232090

回答

-1

首先,如果你想在一个日志日志空间来绘制,你必须用争论log="xy"指定:

plot (co2~SpStats_urbanform, log="xy") 

然后,如果你想添加您的回归线,然后使用abline

abline(fit_co2_urbanform) 

enter image description here

编辑:如果你不希望在数尺度绘制,那么你就会有你的方程log10(y)=a*log10(x)+bcurve转化为y=10^(a*log10(x)+b),并绘制它:

f <- coefficients(fit_co2_urbanform) 
curve(10^(f[1]+f[2]*log10(x)),ylim=c(0,100)) 
points(SpStats_urbanform,co2) 

enter image description here

+0

嗨,谢谢!这很清楚。但是,我完全不想绘制线性回归线,而是添加由两个变量之间的关系产生的LOGARITHMIC CURVE。有任何想法吗?谢谢 !!!! – user3232090

+0

@ user3232090好的。请参阅编辑。 – plannapus

+0

非常感谢 - 正是我期待的! – user3232090