[英]Adding a line on a graph in r
根据以下数据,我想作图
m <- 10000
x <- runif(m,-1,1)
a0 <- 0; a1 <- -4.46; a2 <- 1.6; a3 <- -4.63
下面定义的两个变量p1.at.x
和p0.at.x
针对x
。
p0.at.x <- numeric(0)
p1.at.x <- numeric(0)
for(i in 1:m) {
p0.at.x[i] <- a0 +(a1*x[i]) + (a2*((1.5*(x[i]**2))-0.5)) + (a3*((2.5*(x[i]**3))-(1.5*x[i])))
p1.at.x[i] <- 16 -(40.4*x[i]) + (31*((1.5*(x[i]** 2))-0.5 ))-(18.3*((2.5*(x[i]**3))-(1.5*x[i])))
}
我尝试了以下方法:
plot(x, p1.at.x, col="red")
lines(x, p0.at.x, col="blue")
但我在图p0.at.x
不到p0.at.x
的线。 当我分别绘制它们时,它们具有相似的形状,只是范围不同。 可能有人建议我出了什么问题?
您需要设置正确的ylim:
plot(x, p1.at.x, col="red",ylab='p',ylim=range(p0.at.x,p1.at.x))
par(new=TRUE)
plot(x, p0.at.x, col="blue",ylab='p', ylim=range(p0.at.x,p1.at.x))
如果它们的范围不同,则您看不到第二个,因为它不在第一个图的窗口中,因此在打开图时必须考虑它的存在。
或者:
plot(x, p1.at.x, col="red",ylab='p',ylim=range(p0.at.x,p1.at.x))
points(x, p0.at.x, col="blue",ylab='p', ylim=range(p0.at.x,p1.at.x))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.