包rgl
包括一个非常有用的函数ellipse3d
,它可以返回一个椭球,覆盖95%的三维点。然后可以在rgl::plot3d
中使用这个对象来绘制出来。我的问题是,是否有可能将ellipse3d
的输出转换为可以通过js绘图包来绘制的东西?
library(rgl)
dt <- cbind(x = rnorm(100), y = rnorm(100), z = rnorm(100))
ellipse <- ellipse3d(cov(dt))
plot3d(dt)
plot3d(ellipse, add = T, color = "red", alpha = 0.5)
那么,我能做些什么来通过平面图绘制椭球面呢?
发布于 2017-02-09 17:13:26
您可以从ellipse$vb
中提取椭圆的坐标。那就画这些。类似于:
p <- plot_ly() %>%
add_trace(type = 'scatter3d', size = 1,
x = ellipse$vb[1,], y = ellipse$vb[2,], z = ellipse$vb[3,],
opacity=0.01) %>%
add_trace(data=dt, type = 'scatter3d', x=~x, y=~y, z=~z)
https://stackoverflow.com/questions/42141505
复制相似问题