python - 如何使用宽数据框格式制作一个快速表达的面积图动画?
问题描述
我正在浏览plotly.express
图表和动画,但遇到了一个我不知道如何处理的问题。如果有人可以提供帮助,我将不胜感激。所以这是我的数据框的外观(它实际上有额外的索引,但这并不重要,因为它没有被使用):
YearWeekISO ALL Age18_24 Age25_49
2020-W52 0 0 0
2020-W53 10 0 6
2021-W01 50 0 26
2021-W02 1400 190 720
2021-W03 96722 2158 44434
2021-W04 406326 15738 186148
2021-W05 913702 56894 420448
2021-W06 1312204 75910 559022
2021-W07 1883038 92950 652650
2021-W08 2390826 104078 699688
2021-W09 2873676 110784 732604
2021-W10 3215104 114296 752118
2021-W11 3565462 116494 767442
2021-W12 3974814 118154 781284
2021-W13 4130168 119008 787832
2021-W14 4159884 119270 789706
到目前为止,我有一个静态图,如下所示:
生成上图的代码:
fig = px.area(
df,
x='YearWeekISO',
y=['ALL', 'Age18_24', 'Age25_49'],
# animation_frame='YearWeekISO',
)
fig.show()
如您所见,animation_frame
参数已注释。x
我希望动画发生的是它应该根据值 ( )从左到右移动YearWeekISO
,就像在折线图竞赛中一样。我怎样才能做到这一点?我还想补充一点,我在使用df.melt()
. 代码将如下所示:
fig = px.area(
df,
x=df.index,
y='value',
color='TargetGroup',
# animation_frame=df.index,
)
fig.show()
该代码将产生相同的确切结果并具有相同的确切缺陷。那么我该怎么做呢?我是选择了错误animation_frame
的值还是需要更改我的数据框才能使其正常工作?我也尝试更改日期格式,但它似乎也不起作用,或者我做错了什么。顺便说一句,在这种情况下,animation_frame
似乎不接受实际日期时间格式的日期,只接受字符串或整数。对于我遵循这些教程的代码:
https://plotly.com/python/animations/
https://plotly.com/python/wide-form/
解决方案
推荐阅读
- wordpress - PHPMailer clearAllRecipients() 在 Wordpress 中不起作用
- node.js - 即使输入字段已填充,邮递员 x-www-form-urlencoded 也会为 POST 请求返回空值
- node.js - Express 应用程序不允许我检查 req 中的内容
- python - 如何最好地将使用 Python 搁置库 (bsddb) 的腌制 Python 字典转换为具有字典键元组值的 JSON 文件
- javascript - Safari ITP 2.0 存储访问 API - 在 hasStorageAccess 中嵌套 requestStorageAccess 时遇到问题 - 非嵌套作品
- sql - SQL Server 服务代理和链接服务器
- python - 求解矩阵方程 AB = BC,已知 A 和 C
- mysql - MySQL/MariaDB 删除具有长用户名的用户失败
- mysql - Laravel 数据库 sql
- r - 使用`sub`重命名数据框中的列