情节忽略动画中的自动范围
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])
)
)
相反,它应该可以工作。
我目前正在尝试使用 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])
)
)
相反,它应该可以工作。