Plotly修改scatter3d散点图长宽比aspectmode属性报错如何解决
错误原因
aspectmode不属于layout的顶层属性,3D场景的坐标轴比例相关参数都需要放在scene配置项下。
实现方案
- 数据驱动自适应比例
把aspectmode放到scene配置项中即可,正确代码如下:
fig = plot_ly(df) %>% add_trace(x = ~x, y = ~y, z = ~z, type = "scatter3d", mode = "markers", size = 1) %>% layout(scene = list( aspectmode = "data" ))
- 固定比例(例:1:1:2)
直接配置aspectratio参数指定三个坐标轴的比例即可:
fig = plot_ly(df) %>% add_trace(x = ~x, y = ~y, z = ~z, type = "scatter3d", mode = "markers", size = 1) %>% layout(scene = list( aspectratio = list(x = 1, y = 1, z = 2) ))
备注:如果存在多个3D子图,第二个子图的对应配置项为
scene2,第三个为scene3,以此类推。
内容的提问来源于stack exchange,提问作者Chemistry101
相关产品推荐
相关产品推荐

