
在使用 Plotly 保存动画 HTML 文件时,默认会自动播放动画;可通过 write_html() 的 auto_play=False 参数轻松禁用该行为,实现首次加载时静止显示首帧的效果。
在使用 plotly 保存动画 html 文件时,默认会自动播放动画;可通过 `write_html()` 的 `auto_play=false` 参数轻松禁用该行为,实现首次加载时静止显示首帧的效果。
Plotly 的动画图表(如通过 px.scatter 配合 animation_frame 创建)在调用 .write_html() 保存为 HTML 后,浏览器打开时会默认自动播放。若希望用户手动控制播放(例如仅在点击“播放”按钮后才启动动画),需显式关闭自动播放功能。
正确做法是在调用 write_html() 时传入参数 auto_play=False:
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.write_html("anim.html", auto_play=False) # ? 关键参数
✅ 注意事项:
- 参数名为 auto_play(下划线命名),不是 autoplay 或 autoPlay,拼写错误将被忽略且不生效;
- 该参数仅对 write_html() 有效,不影响 show() 或在线渲染行为;
- 即使禁用自动播放,HTML 中的播放控件(如播放/暂停/进度条)仍完整保留,用户可随时交互操作;
- 若需进一步定制动画初始状态(如默认停留在某一年),可结合 frame 和 layout.sliders[0].active 手动设置,但 auto_play=False 已满足绝大多数静默初始化需求。
通过这一简单配置,即可提升动画图表的专业性与用户体验——尤其适用于报告嵌入、教学演示或需要精确引导观察顺序的场景。











