使用R RGL库创建具有网状表面的交互式3D图

时间:2017-11-22 08:19:33

标签: r plot 3d surface rgl

我用R的RGL库创建了一个3D图。结果是这个图像:

[image with a continuous surface]

但是我需要一个网状表面,像这样:

[image with reticular surface]

...保留RGL以交互方式旋转绘图的能力。我该怎么办?

我的代码是:

  

库(RGL)

     

bg3d("白色&#34)

     

persp3d(     x,y,hdif,col =" lightblue",     xlab ="诊断年数",ylab ="诊断年龄",zlab ="危险差异",     zlim = c(-10,80),resfac = c(.15,1),nticks = 70)

     

grid3d(c(" x"," y +"," z"))

1 个答案:

答案 0 :(得分:1)

如果你用不同的选项多次绘制曲面,我想你会得到类似的东西。

第一次应该是

persp3d( x, y, hdif, col = "white", xlab = "Years from diagnosis", 
         ylab = "Age at diagnosis", zlab = "Hazard difference", 
         zlim= c(-10, 80), lit = FALSE)

(我遗漏了一些不应该在这里的参数:nticksresfac。)这将获得一个坚固的表面,但它不会显示,因为它是纯白色

第二次应该是

surface3d( x, y, hdif, col = "blue", front = "lines", back = "cull", lit = FALSE)

这将获得蓝线网格。最后你可以绘制

surface3d( x, y, hdif, col = "red", front = "cull", back = "lines", lit = FALSE)

背面的红线:但由于四舍五入错误,它可能会泄漏 通过在某些地方,所以我使用相同的颜色正面和背面, 即

surface3d( x, y, hdif, col = "blue", front = "cull", back = "lines", lit = FALSE)

由于四舍五入,可能会有一些文物;您可以将depth_test = "lequal"添加到网格调用中,它可能会有所帮助或转移 通过修改hdif,前面一点点,后面一点点。