[英]How can i slow animation speed and shouldn't delete last value in plotly
[英]How can I force Plotly animation to start by the last frame?
我想更改我的动画图表的“默认”框架,并强制它在呈现 Dash 应用程序时使用最后一个日期作为默认值。 我怎样才能做到这一点?
import plotly.express as px
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])
我正在尝试一些不同的方法,例如类似的方法:
fig.layout['sliders'][0]['active'] = 11
and
frame = -1
fig = go.Figure(fig.frames[frame].data, fig.frames[frame].layout)
fig
但它没有在图表上正确反映。
有人可以指导我如何找到有关它的参考资料吗?
我想强制图表从去年开始。
问题是在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
非常感谢兄弟的回答; 有用。
我已经构建了一个与您的解决方案类似但有一些差异的解决方案:
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
无论如何,我非常感谢您的关注/支持,在实施某事时有更多选择真是太好了!
非常感谢; 最好的问候,莱昂纳多
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.