我有一个非常简单的问题但是我无法理解。如何使用网格为以下数据创建3D曲面图。
x = c("Jan","Feb","Mar","Apr","May","Jun")
y = c("2010","2011","2012")
z = matrix(seq(1:18),nrow=3)
我尝试过类似的东西,但仍然无法得到我想要的东西。
persp3d(x, y, z)
plot3d(x, y, z)
感谢。
答案 0 :(得分:2)
当persp3d()
是因子或字符变量时x
给出的错误意味着它只会在x
中使用数字(可能在y
和{{1}因此z
必须是数字:
x, y
相应的月份名称:
x <- 1:6
我在此处撤回我之前的陈述,现在我了解month <- c("Jan","Feb","Mar","Apr","May","Jun")
如何在plot3d
和x
定义的位置映射z值,以便y
保持不变,但必须是数字:
y
此外,y = c(2010,2011,2012)
必须与nrow(z)
相同,再次从相反的尝试中抛出的错误中可以清楚地看出这一点。所以:
nrow(x)
在没有默认轴的情况下绘制曲面:(从这里开始,方法与我们在R中使用普通2d曲线的自定义轴非常类似)
z = matrix(seq(1:18),nrow=6)
最后添加你的轴:
library(rgl)
persp3d(x, y, z, axes=F, ylab="", zlab="")
box3d()