【发布时间】:2021-05-14 10:21:35
【问题描述】:
我正在尝试在 R 中创建一个体积图,以显示 3D 空间中点的平滑密度。我目前正在使用 plotly 与 scatter3D 进行绘图。
df = data.frame(a = sample(seq(.5,.8,.001),100),
b = sample(seq(0,.5,.001),100),
c = sample(seq(0,.3,.001),100),
value = sample(seq(0,1,.01),100))
plot_ly(df, x = ~a, y = ~b, z = ~c, type = 'scatter3d')
将类型设置为“mesh3d”可以将这些点连接为 3d 空间中的表面。
plot_ly(df, x = ~a, y = ~b, z = ~c, type = 'mesh3d')
但是,尝试将类型设置为“体积”每次都会给我一个空白图。
plot_ly(df, x = ~a, y = ~b, z = ~c, value = ~value, type = 'volume',
isomin = 0, isomax = 1, opacity = 1)
文档在这里:https://plotly.com/r/reference/volume/ 并指定:
在 iso-min 和 iso-max 值之间绘制体积轨迹,坐标由四个一维数组给出,这些数组包含均匀或非均匀的每个顶点的
value、x、y和z统一的 3-D 网格。也可以使用此轨迹绘制水平或垂直切片、大写字母以及 iso-min 和 iso-max 值之间的空间框架。
plotly 的 python 版本提供了一个示例:https://plotly.com/python/3d-volume-plots/ 但我不知道我在哪里错过了到 R 的转换。我已经包含了体积图的额外值维度,但它似乎没有做任何事。
【问题讨论】: