Plotly 3D表面图 - 将立方体更改为矩形空间

4

我希望能够得到一个3D图形,不是立方体形状,因为我的Z轴数据比X和Y轴的刻度小十倍。如何设置才能让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))
         ))

如果我将z轴范围设置为(1:20),则比例尺会混乱,表面仍然处于立方空间中,而我不希望出现这种情况。
1个回答

7
您需要设置 aspectratio选项
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)
    )
  )

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接