plotly 3d 表面 - 将立方体更改为矩形空间

grp*_*frt 3 3d r aspect-ratio plotly

我想要一个不在立方体中的 3d 图,因为我的 z 数据比 x 和 y 轴的比例小 10 倍。你如何设置它以便 3d 绘图不是在立方体中,而是在矩形中?(我希望 x、y、z 轴也处于相同的比例。也就是说,x 和 y 是从 0 到 100,而在这个例子中,z 是从 0 到 10:)

zz = matrix(c(1:10), nrow = 100, ncol = 100)

plot_ly(z=zz, x = c(1:100), y = c(1:100), type = 'surface') %>% 
  layout(autorange = F, aspectmode = 'manual', 
         scene = list(xaxis = list(range = c(0,100)),
                      yaxis = list(range = c(0,100)),
                      zaxis = list(range = c(0,20))
         ))
Run Code Online (Sandbox Code Playgroud)

如果我将 zaxis 的范围设置为 (1:20),那么比例会混乱并且表面仍然处于立方空间中,这是我不想要的。

nev*_*ome 6

您必须设置宽高比选项

plot_ly(z=zz, x = c(1:100), y = c(1:100), type = 'surface') %>% 
  layout(
    autorange = F, 
    aspectmode = 'manual', 
    scene = list(
      zaxis = list(range = c(0,20)),
      aspectratio = list(x = 1, y = 1, z = 0.2)
    )
  )
Run Code Online (Sandbox Code Playgroud)