【发布时间】:2019-03-16 06:37:13
【问题描述】:
我想在湖中创建交互式 3D 深度图,最好使用 plotly 或 rgl 库。我从 Gauss-Krueger/EPSG:31468 CRS 的等高线 SpatialLinesDataFrame 中提取了我的数据,即公制单位。现在每条等高线都会产生一组具有相同深度值的坐标。生成的数据框相当大,但看起来像这样:
set.seed(41)
xx <- rnorm(100,4448929,100)
yy <- rnorm(100,5308097,100)
zz <- c(rep(-10,10),rep(-20,10),rep(-30,10),rep(-40,10),rep(-50,10),rep(-60,10),rep(-70,10),rep(-80,10),rep(-90,10),rep(-100,10))
df <- data.frame(xx,yy,zz)
我尝试使用plotly 绘制数据,如this 示例和rgl,如this 帖子。在这两种情况下,我都会收到与我的数据不是矩阵格式相关的错误消息,即 x 和 y 值表示为行号和列号。
起作用的是,在plotly 中使用add_trace 命令:
plot_ly() %>% add_trace(df,x = ~df$xx, y = ~df$yy, z = ~df$zz,type="mesh3d")
但是,生成的图表不仅缺少 add_surface 命令的精美颜色图例,而且更重要的是,相对于 z 值扭曲了 x 和 y 值。 z 值显示的太大了,尽管它们都具有相同的公制单位。
我也尝试过将数据框重塑为矩阵,如this 帖子中的那样,但它要么根本不起作用,要么给了我一个几乎完全由 NA 组成的矩阵。我只能推测,与该范围内所有坐标的 x-y 组合相比,附加了深度值的坐标数非常少?
任何建议将不胜感激 - 谢谢!
【问题讨论】: