Hao*_*Hao 3 r rgl plotly r-plotly
包rgl包含一个非常有用的函数ellipse3d,它可以返回一个覆盖 3D 中 95% 的点的椭球体。然后可以使用该对象来rgl::plot3d绘制它。我的问题是,是否可以将 的输出转换ellipse3d为可以通过 js 绘图包(如plotly)绘制的内容?
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)
Run Code Online (Sandbox Code Playgroud)
那么我该怎么做才能通过绘图绘制椭球体呢?
您可以从 中提取椭圆的坐标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)
Run Code Online (Sandbox Code Playgroud)