You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改Plotly动画条形图所有帧的条形颜色?

解决Plotly动画条形图所有帧统一修改颜色的问题

有两种可行方法可以让动画条形图的所有帧都显示为绿色:

方法一:创建图表时直接指定颜色(推荐)

使用Plotly Express的color_discrete_sequence参数,一次性为所有帧的条形设置颜色,代码更简洁直观:

import plotly.express as px

fig = px.bar(df, x="x", y="Y", animation_frame="Year_slider",
             color_discrete_sequence=['green'])

fig.show()

方法二:遍历所有动画帧修改颜色

如果已经创建好图表,可以通过遍历fig.frames中的每一个帧,修改其内部数据的标记颜色,同时别忘了修改初始显示的trace:

import plotly.express as px

fig = px.bar(df, x="x", y="Y", animation_frame="Year_slider")

# 修改初始显示的条形颜色
fig.update_traces(marker_color='green')

# 遍历所有动画帧,修改每个帧的条形颜色
for frame in fig.frames:
    frame.data[0].marker.color = 'green'

fig.show()

原方法仅修改第一帧的原因

fig.update_traces()默认仅对图表初始状态的trace生效,而动画的每一个年份滑块对应的帧,都包含独立的data对象,所以需要单独遍历修改每个帧的颜色才能覆盖所有状态。

内容的提问来源于stack exchange,提问作者Learning

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 22:24:58