更改绘图动画图表中的条形颜色

问题描述 投票:0回答:1

我使用以下代码绘制了一个动画条形图,但默认条形颜色是蓝色,我该如何更改它?

import plotly.express as px

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

fig.show()

我已经尝试过:

fig.update_traces(marker_color='green')

这仅为第一个条形提供绿色,而不是随着年份滑块进一步移动的其余条形,我怎样才能使所有条形颜色为绿色而不是默认颜色?

python animation colors plotly bar-chart
1个回答
0
投票

plotly中的动画是通过为动画的每一帧创建数据来实现的,通过执行

print(fig.frames)
可以看到。图的组成由初始图数据(
fig.data
)、布局信息(
fig.layout
)和动画帧信息(
fig.frames
)组成。所以不仅需要改变初始颜色,还需要改变动画帧。对于每一帧,更改条形图的颜色。您的数据未知,但出于说明目的,我通过修改参考中的examples来创建代码。

import plotly.express as px

data_Africa = px.data.gapminder().query("continent == 'Africa'")
fig = px.bar(data_Africa, x='country', y='pop', animation_frame='year')
fig.update_traces(marker_color='green')

for i,frame in enumerate(fig.frames):
    fig.frames[i]['data'][0]['marker']['color'] = 'green'

fig.update_yaxes(range=[0, 100_000_000])

fig.show()

© www.soinside.com 2019 - 2024. All rights reserved.