python plotly(px)动画帧日期顺序错误

2024-09-26 17:40:04 发布

您现在位置:Python中文网/ 问答频道 /正文

使用plotly express,我构建了一个类似于website的条形图

由于px.bar不允许我在datetime64[ns]上运行动画帧,我将datetime转换为字符串,如下所示

eu_vaccine_df['date_str'] = eu_vaccine_df['date'].apply(lambda x: str(x))
eu_vaccine_df[['date_str', 'date', 'country', 'people_vaccinated_per_hundred']].head()

然后运行px.bar的数据集如下所示,包含30个不同的国家

dataframe

包含动画的条形图代码如下所示

fig = px.bar(
  eu_vaccine_df,
  x='country', y='people_vaccinated_per_hundred',
  color='country',
  animation_frame='date_str',
  animation_group='country',
  hover_name='country',
  range_y=[0,50],
  range_x=[0,30]
)
fig.update_layout(
  template='plotly_dark',
  margin=dict(r=10, t=25, b=40, l=60)
)
fig.show()

最终结果是动画帧上的日期错误。它首先显示2021年的所有结果,然后显示2020年的所有结果,如以下屏幕截图底部所示。 wrong order of the years


Tags: dfdatefigbar动画plotlypeoplecountry
1条回答
网友
1楼 · 发布于 2024-09-26 17:40:04

按解决问题的日期排序我的df

  covid_df['date'] = pd.to_datetime(covid_df['date'])
  covid_df = covid_df.sort_values('date', ascending=True)
  covid_df['date'] = covid_df['date'].dt.strftime('%m-%d-%Y')

相关问题 更多 >

    热门问题