繁体   English   中英

R中的3D图和grid.arrange

[英]3D plots and grid.arrange in R

我正在尝试绘制三个3D图,并同时显示所有三个。 对于其他图,我一直使用软件包gridExtra中的grid.arrange函数。 但是,我的3D绘图出现错误。 我得到的错误是:“ gList(list(xyz.convert = function(x,y = NULL,z = NULL))中的错误:“ gList”中仅允许'grobs'”

我的代码看起来像这样:

cont1<-data.frame(matrix(rnorm(300), nrow=10, ncol=3))
pre1<-data.frame(matrix(rnorm(300), nrow=10, ncol=3))
post1<-data.frame(matrix(rnorm(300), nrow=10, ncol=3))

library(scatterplot3d)
attach(as.data.frame(cont1))
p<-scatterplot3d(X1,X2,X3, main="3D Scatterplot")
fit <- lm(X3 ~ X1+X2) 
p$plane3d(fit)


attach(as.data.frame(pre1))
l<-scatterplot3d(X1,X2,X3, main="3D Scatterplot")
fit <- lm(X3 ~ X1+X2) 
l$plane3d(fit)


attach(as.data.frame(post1))
m<-scatterplot3d(X1,X2,X3, main="3D Scatterplot")
fit <- lm(X3 ~ X1+X2) 
m$plane3d(fit)

require(gridExtra)
grid.arrange(p,l,m)

我怎样才能解决这个问题?

我不确定ggplot2图grid.arrange可以将grid.arrange用于任何东西...这是使用par的潜在解决方案。 如果要1x3排列设置mfrow=c(1,3)或3x1,则mfrow=c(3,1)

library(gridExtra)
library(scatterplot3d)

cont1<-data.frame(matrix(rnorm(300), nrow=10, ncol=3))
pre1<-data.frame(matrix(rnorm(300), nrow=10, ncol=3))
post1<-data.frame(matrix(rnorm(300), nrow=10, ncol=3))

par(mfrow=c(2,2))
p<-with(cont1, scatterplot3d(X1,X2,X3, main="3D Scatterplot"))
fit <- lm(X3 ~ X1+X2) 
p$plane3d(fit)

l<-with(pre1, scatterplot3d(X1,X2,X3, main="3D Scatterplot"))
fit <- lm(X3 ~ X1+X2) 
l$plane3d(fit)

m<-with(post1, scatterplot3d(X1,X2,X3, main="3D Scatterplot"))
fit <- lm(X3 ~ X1+X2) 
m$plane3d(fit)

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM