在R中绘制完整3D全体积曲面图:求可行实现方案
3D完整曲面图绘制问题
问题背景
我在他人协助下得到一张3D图,目前正在调整其美观度。虽详细研读Plotly库文档,仍无法绘制出参考图所示的完整3D全体积曲面图。
参考图说明:展示的是一个封闭的3D曲面,呈现出随存活率、时间、温度变化的完整体积形态(此图非本人所有,出处DOI:10.1111/1365-2435.12268)
我的数据集
> data.ttl.gp # A tibble: 3,000 x 4 X surv.prob temp time <int> <dbl> <chr> <dbl> 1 1 1 42.0 3.26 2 1 1 44.0 0.686 3 1 1 46.0 0.144 4 2 0.999 42.0 6.53 5 2 0.999 44.0 1.37 6 2 0.999 46.0 0.288 7 3 0.998 42.0 9.79 8 3 0.998 44.0 2.06 9 3 0.998 46.0 0.432 10 4 0.997 42.0 13.1 # ... with 2,990 more rows
数据集前30行的dput输出:
structure(list(X = c(1L, 1L, 1L, 2L, 2L, 2L, 3L, 3L, 3L, 4L, 4L, 4L, 5L, 5L, 5L, 6L, 6L, 6L, 7L, 7L, 7L, 8L, 8L, 8L, 9L, 9L, 9L, 10L, 10L, 10L), surv.prob = c(1, 1, 1, 0.999, 0.999, 0.999, 0.998, 0.998, 0.998, 0.997, 0.997, 0.997, 0.996, 0.996, 0.996, 0.995, 0.995, 0.995, 0.994, 0.994, 0.994, 0.993, 0.993, 0.993, 0.992, 0.992, 0.992, 0.991, 0.991, 0.991), temp = c("42.0", "44.0", "46.0", "42.0", "44.0", "46.0", "42.0", "44.0", "46.0", "42.0", "44.0", "46.0", "42.0", "44.0", "46.0", "42.0", "44.0", "46.0", "42.0", "44.0", "46.0", "42.0", "44.0", "46.0", "42.0", "44.0", "46.0", "42.0", "44.0", "46.0"), time = c(3.2647446560386, 0.6858, 0.144060773368623, 6.5294893120772, 1.3716, 0.288121546737246, 9.79423396811581, 2.0574, 0.432182320105869, 13.0589786241544, 2.7432, 0.576243093474492, 16.323723280193, 3.429, 0.720303866843115, 19.5884679362316, 4.1148, 0.864364640211738, 22.8532125922702, 4.8006, 1.00842541358036, 26.1179572483088, 5.4864, 1.15248618694898, 29.3827019043474, 6.1722, 1.29654696031761, 32.647446560386, 6.858, 1.44060773368623)), row.names = c(NA, -30L), class = c("tbl_df", "tbl", "data.frame"))
当前使用代码
pgp<-plot_ly(scene='scene2')%>% add_trace(x=data.ttl.gp$surv.prob, y=data.ttl.gp$time, z=data.ttl.gp$temp, type="mesh3d", opacity=0.8)%>% layout( scene2=list( xaxis=list(title='Survival probability'), yaxis=list(title='Time (min)'), zaxis=list(title='Temperature (°C)')))
当前生成的图说明
生成的3D图仅显示离散的网格线条,没有参考图中那种“曲线下完整曲面”的封闭体积效果,我理解这是因为数据框中每个x、y、z仅对应一组向量,无法构成连续的曲面网格。
我的问题
- 是否有其他库可用于绘制完整曲面图?
- 是否有更高效的绘制方法?
内容的提问来源于stack exchange,提问作者ALov
相关产品推荐
相关产品推荐

