情节忽略动画中的自动范围

Plotly ignores autorange in animation

我目前正在尝试使用 Numpy 数组在 Plotly 中创建动画。单个图的创建效果很好,但是当我尝试将单个图添加为动画帧时,范围(自动范围和给定限制)被完全忽略。这是代码:

def animationTest(fields):
    fig = go.Figure(
        data=[
            go.Scatter3d()
        ],
        layout=go.Layout(
            xaxis=dict(
                range=[-1.,1.],
                autorange=False
            ),
            yaxis=dict(
                range=[-1.,1.],
                autorange=False
            ),
            updatemenus=[
                dict(
                    type='buttons',
                    buttons=[
                        dict(
                            label='Play',
                            method='animate',
                            args=[None]
                        )
                    ]
                )
            ]
        ),
        frames=[
            go.Frame(
                data=[
                    go.Scatter3d(
                        x=it.x,
                        y=it.y,
                        z=it.z,
                        line=dict(color='red',width=2)
                    )
                ],
                layout=go.Layout(
                    xaxis=dict(
                        range=[-1.,1.],
                        autorange=False
                    ),
                    yaxis=dict(
                        range=[-1.,1.],
                        autorange=False
                    )                
                )
            )
        for it in its]
    )
    fig.show()

在这种情况下,its 是一个对象列表,其中每个对象 it 的每个属性 x,y,z 都有一个包含 501 个数值的 numpy 数组。

谁能弄清楚为什么 go.Layout() 对象中给出的自动范围被忽略?非常感谢。

我已经弄清楚了问题 - 上面给出的代码:

go.Layout(
    xaxis=dict(range=[-1.,1.])
)

是二维绘图的语法。要调整 3D 图的轴限制,请使用:

go.layout(
    scene=dict(
        xaxis=dict(range=[-1,1])
    )
)

相反,它应该可以工作。