首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在R中使用rsm在persp之后绘制一条线

在R中使用rsm在persp之后绘制一条线
EN

Stack Overflow用户
提问于 2016-08-06 00:35:32
回答 1查看 1.4K关注 0票数 2

我使用下面的代码使用RSM包的persp函数在R中的x-y平面上绘制了一个具有轮廓投影的3d响应面。

代码语言:javascript
复制
x <- seq(-3,3,by=0.25) 
y <- seq(-3,3,by=0.25) 
d <- expand.grid(x=x,y=y)
z <- c(data=NA,1089)
b0 = 5.628; b1 = 0; b2 = 0; b3 = -.1 ; b4 =.1; b5 = -.1
k=1
for (i in 1:25) {
for (j in 1:25) {
z[k]=b0+b1*x[i]+b2*y[j]+b3*x[i]*x[i]+b4*x[i]*y[j]+ b5*y[j]*y[j]
k=k+1
}  }
library(rsm)
data.lm <- lm(z~poly(x,y,degree=2),data=d)
persp(data.lm,x~y, zlim=c(0,max(z)),contour=list(z="bottom",col="colors"),theta=-55,phi=25)

画完这张图后,有没有一种方法可以:

(1)在透视x-y平面上画一条额外的直线,例如y=5x+8?

(2)在x-y平面上投影z的散点图?

EN

回答 1

Stack Overflow用户

发布于 2016-08-06 02:06:16

可以使用trans3d添加该行

代码语言:javascript
复制
res1 <- persp(data.lm,x~y, zlim=c(0,max(z)),contour=list(z="bottom",col="colors"),theta=-55,phi=25)    
xy <- matrix(c((-3-8)/5,-3,(3-8)/5,3),ncol=2,byrow = T)
lines(trans3d(xy[,2], xy[,1], 0, pmat = res1$`y ~ x`$transf), col = 3)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38794011

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档