我想根据列表中的数据在R中生成大约50个3-D图。我会将这些图表提供给grid.arrange
,以便将它们全部绘制在一页上。
我的问题在于生成图表。在下面的例子中,我展示了我当前的方法,为了保持简单,我只生成两个图:
library(rgl)
data<-list()
data[[1]] <- list("data" =data.frame("x" = 1*(1:10), "y" = 2*(1:10),"z" = 3*(1:10)),
"dataO"=data.frame("x" = 1, "y" = 2, "z" = 3))
data[[2]] <- list("data" =data.frame("x" = 4*(1:10), "y" = 5*(1:10),"z" = 6*(1:10)),
"dataO"=data.frame("x" = 4, "y" = 5, "z" = 6))
plot_func = function (data) {
plot3d(data$data, type='s', size=0.5)
points3d(data$dataO, color='red', size=10)
rgl.viewpoint( theta = -160, phi = 15, fov=60)
legend3d("topright",
legend = c('Data', 'Outliers'),
pch = 16,
col = c("black","red"),
cex = 1,
inset=c(0.02))
}
tmp<-lapply(data[c(1,2)], plot_func)
代码问题:该列表确实包含两个所需的图表,但问题是两个条目都包含基于data[[2]]
的第二个图。
有没有办法解决这个问题?