提高plotly动画的速度

2024-05-29 05:16:56 发布

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

我使用plotly express的函数choropleth()创建了一个choropleth映射,代码如下


fig = px.choropleth(df_countrydate, 
                    locations="Country", 
                    locationmode = "country names",
                    color="Confirmed", 
                    hover_name="Country", 
                    animation_frame="Date",
                    color_continuous_scale="Reds"
                   )
fig.update_layout(
    title_text = 'Global Spread of Coronavirus',
    title_x = 0.5,
    geo=dict(
        showframe = False,
        showcoastlines = False,
    ))

iplot(fig)

这是一张动态地图,我想知道当我点击play时,是否有任何方法可以加快从一个日期到下一个日期的转换


Tags: 函数代码falsedftitlefigplotlycountry
1条回答
网友
1楼 · 发布于 2024-05-29 05:16:56

在绘图中更改以下两个参数:

    fig.layout.updatemenus[0].buttons[0].args[1]['frame']['duration'] = 30
    fig.layout.updatemenus[0].buttons[0].args[1]['transition']['duration'] = 5

时间以毫秒为单位

我从这段视频的代码中得到了答案:https://www.youtube.com/watch?v=RCUrpCpGZ5o&t=1156s&ab_channel=CharmingData 您可以在这里找到完整的代码:https://github.com/Coding-with-Adam/Dash-by-Plotly/blob/master/Plotly_Graphs/Animated_Scatter/gender_ineq.py

我还发现贴图的分辨率(110对50)确实会影响动画的刷新率。在我的项目中,显示变量的演变比细节更为相关,因为我的意图是呈现所述变量随时间的变化。我认为用户不太可能尝试放大地图,所以我决定使用较低分辨率的地图(1:110m vs 1:50m):

fig.update_geos(projection_type="equirectangular", visible=True, resolution=110)

所有这些选项结合在一起,在降低帧和动画持续时间后,为我的贴图生成了一个快速平滑的动画。 分辨率=50时,更改持续时间值时,我看不到任何效果

相关问题 更多 >

    热门问题