2 回答

TA贡献2037条经验 获得超6个赞
非常感谢兄弟的回答;有用。
我构建了一个与您的解决方案类似但有一些差异的解决方案:
import plotly.express as px
import plotly.graph_objects as go
df = px.data.gapminder()
fig = px.scatter(df, x="gdpPercap", y="lifeExp", animation_frame="year", animation_group="country",
size="pop", color="continent", hover_name="country",
log_x=True, size_max=55, range_x=[100,100000], range_y=[25,90])
last_frame_num = len(fig.frames) -1
fig.layout['sliders'][0]['active'] = last_frame_num
fig = go.Figure(data=fig['frames'][-1]['data'], frames=fig['frames'], layout=fig.layout)
fig
不管怎样,我非常感谢您的关注/支持,在实施某些事情时有更多的选择真是太好了!
非常感谢; 最好的问候,莱昂纳多

TA贡献1807条经验 获得超9个赞
问题是fig.data你有第一帧。我找到了生成新图形的解决方法。
import plotly.express as px
import plotly.graph_objects as go
df = px.data.gapminder()
fig = px.scatter(df, x="gdpPercap", y="lifeExp", animation_frame="year", animation_group="country",
size="pop", color="continent", hover_name="country",
log_x=True, size_max=55, range_x=[100,100000], range_y=[25,90])
# New figure
fig2 = go.Figure()
# add last frame traces to fig2
for tr in fig.frames[-1].data:
fig2.add_trace(tr)
# copy the layout
fig2.layout = fig.layout
# copy the frames
fig2.frames = fig.frames
# set last frame as the active one
fig2.layout['sliders'][0]['active'] = len(fig.frames) - 1
fig2
添加回答
举报