如何使用散点图在R中绘制两个三维图形(一个在另一个之上)?

时间:2015-04-08 11:34:38

标签: r graphics plot

我确定这是一个非常简单的问题,但不知怎的,我找不到答案。所以在2D中,如果我想在最高实际值上显示预测,我会这样做:

plot(x, y, type = “l”, col = “green")
lines(x`, y`, type = “l”, col = "blue")

但我无法弄清楚如何在3d中执行此操作(我正在使用scatterplot3d) 我设法显示实际值

s3d<-scatterplot3d(x, y, z, color = “blue”, type = “l”, …)
s3d.coords <- s3d$xyz.convert(x,y,z)
D3_coord=cbind(s3d.coords$x,s3d.coords$y)

但如何在此基础上绘制预测值的图表?
提前谢谢。

1 个答案:

答案 0 :(得分:1)

我不确定这是否适合您,但这里有一个选项(注意不同的数据结构作为scatterplot3d的输入 - 向量而不是z的矩阵):

library(scatterplot3d)

n <- 10
x <- seq(-10,10,,n)
y <- seq(-10,10,,n)
grd <- expand.grid(x=x,y=y)
z <- matrix(2*grd$x^3 + 3*grd$y^2, length(x), length(y))
image(x, y, z, col=rainbow(100))
plot(x, y, type = "l", col = "green")

X <- grd$x
Y <- grd$y
Z <- 2*X^3 + 3*Y^2
s3d <- scatterplot3d(X, Y, Z, color = "blue", pch=20)
s3d.coords <- s3d$xyz.convert(X, Y, Z)
D3_coord=cbind(s3d.coords$x,s3d.coords$y)
lines(D3_coord, t="l", col=rgb(0,0,0,0.2))

enter image description here