我希望使用R plotly 库来创建x,y,z坐标数据的三维表面图,类似于以下链接所示:
https://plot.ly/r/3d-surface-plots/
plot_ly函数似乎要求z坐标位于维度x * y的矩阵中,如链接示例中使用的 datasets :: volcano 中所示。我对如何构建这个矩阵有一些指导。这是我的样本x,y坐标数据:
## x coordinates
xSeq = seq(0, 1, .01)
## y coordinates
ySeq = seq(0, 1, .01)
## list with x, y coordinates
exmplList = list(x = xSeq, y = ySeq)
z坐标将通过x,y对的公式计算(此处使用的示例公式为x + y)。我玩过类似的东西:
exmplList = within(exmplList, z <- matrix(x + y, nrow = length(xSeq), ncol = length(ySeq)))
但这并没有实现我想要实现的对组合。
答案 0 :(得分:0)
绘图表面需要一个矩阵,因此您可以直接使用此位:
z = matrix(xSeq + ySeq, nrow = length(xSeq), ncol = length(ySeq))
代替列表。因此,通过运行以下代码:
## x coordinates
xSeq = seq(0, 1, 0.01)
## y coordinates
ySeq = seq(0, 1, 0.01)
## list with x, y coordinates
z = matrix(xSeq + ySeq, nrow = length(xSeq), ncol = length(ySeq))
fig = plot_ly(z = ~z) %>% add_surface()
fig
您可能需要单击并旋转一点以查看平面。希望能有所帮助,欢呼。