Ich versuche, drei 3D-Plots zu zeichnen und alle drei gleichzeitig anzuzeigen. Für die anderen Plots habe ich die Funktion grid.arrange aus dem Paket gridExtra verwendet. Ich bekomme jedoch einen Fehler mit meinen 3D-Plots. Der Fehler, den ich erhalte lautet: "Fehler in gList (Liste (xyz.convert = Funktion (x, y = NULL, z = NULL): nur 'grobs' erlaubt in" gList ""3D-Plots und grid.arrange in R
Mein Code sieht etwas wie dies:
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)
Wie ich dieses Problem beheben kann
Zunächst ist Ihr Beispiel nicht reproduzierbar. 'x',' y' und 'z' sind nicht definiert. Zweitens ist das Anhängen in diesem Szenario nicht notwendig. Drittens, warum nicht "par (mfrow)" verwenden, z. B. "par (mfrow = c (2,2))" oder "par (mfrow = c (1,3))" usw.? Ich denke, grid.arrange ist für das Arrangieren von ggplot-Objekten und nicht für Grundflächen gedacht. – emilliman5
Ich habe es bearbeitet, um es reproduzierbar zu machen. Danke für Ihre Hilfe! –