python - 大熊猫中按日期分组的分类区域堆栈图
问题描述
如果我的 x 轴只是一个数字列表,我找到了实现堆栈图的方法。
import pandas as pd
import matplotlib.pyplt as plt
d = {'time_key': {0: '2021-03-01',
1: '2021-03-01',
2: '2021-03-01',
3: '2021-03-01'},
'target': {0: 2, 1: 1, 2: 0, 3: 3},
'count': {0: 400, 1: 300, 2: 200, 3: 100},
'fraction': {0: 0.4, 1: 0.3, 2: 0.2, 3: 0.1}}
df = pd.DataFrame(d)
plt.stackplot(range(2), s[s.target==0].fraction, s[s.target==1].fraction,
s[s.target==2].fraction, s[s.target==3].fraction)
但我想将情节推广到许多日期列表。
d = {'time_key': {0: '2021-03-01',
1: '2021-03-01',
2: '2021-03-01',
3: '2021-03-01',
4: '2021-04-01',
5: '2021-04-01',
6: '2021-04-01',
7: '2021-04-01',
8: '2021-05-01',
9: '2021-05-01',
10: '2021-05-01',
11: '2021-05-01'},
'target': {0: 2,
1: 1,
2: 0,
3: 3,
4: 2,
5: 1,
6: 0,
7: 3,
8: 2,
9: 1,
10: 0,
11: 3},
'count': {0: 163,
1: 110,
2: 90,
3: 38,
4: 113,
5: 97,
6: 56,
7: 34,
8: 85,
9: 57,
10: 42,
11: 16},
'fraction': {0: 0.18091009988901222,
1: 0.1220865704772475,
2: 0.09988901220865705,
3: 0.042175360710321866,
4: 0.12541620421753608,
5: 0.1076581576026637,
6: 0.06215316315205328,
7: 0.03773584905660377,
8: 0.09433962264150944,
9: 0.06326304106548279,
10: 0.04661487236403995,
11: 0.017758046614872364}}
我想按升序将日期分配给 x 轴,以查看比例的动态。
这是一种以适当方式实现它的方法吗?
解决方案
推荐阅读
- python - 如何使用 Python 请求模块上传一堆文件
- amazon-web-services - 比较 AWS CloudSearch 域中日期字段的年份部分
- google-apps-script - 谷歌表格:激活多项选择,其中范围基于数据长度
- optimistic-locking - Tarantool 有没有办法在执行更新之前检查元组的状态(乐观锁检查/CAS 模式)?
- java - 在 KCL 2.x ( Kinesis ) 下使用来自特定分片的记录
- ansible - 使用带有 ansible 的 SSH 密钥将文件从一个远程服务器复制到另一个
- calculated-columns - Spotfire:计算列以查找同一列中是否在 1 小时内发生不同事件
- sql - 使用相同的唯一标识符更新重复数据
- visual-studio-code - 可以为不受支持的语言的用户定义函数扩展 Visual Studio Code Intellisense/代码建议吗?(LISP/AutoLISP)
- ios - 视图正在使用包含的 UIImageView 的高度,我如何让它调整大小?