You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 14:31:02