python - 用 Python 绘制眼镜蛇图表
问题描述
这是我想绘制的数据。目的是针对 ABCD 等列绘制第一列(基线日期)...
Baseline Date A B C D E
0 14/08/2020 15/10/2020 15/10/2020 19/11/2020 29/10/2020 13/10/2020
1 21/08/2020 20/03/2021 13/05/2022 10/12/2020 3/12/2020 5/11/2020
2 28/08/2020 10/03/2021 3/05/2022 30/11/2020 23/11/2020 26/10/2020
3 4/09/2020 13/03/2021 6/05/2022 3/12/2020 26/11/2020 29/10/2020
4 11/09/2020 18/03/2021 11/05/2022 8/12/2020 1/12/2020 3/11/2020
5 18/09/2020 21/03/2021 14/05/2022 11/12/2020 4/12/2020 6/11/2020
6 25/09/2020 19/03/2021 12/05/2022 9/12/2020 2/12/2020 4/11/2020
7 2/10/2020 22/03/2021 15/05/2022 12/12/2020 5/12/2020 7/11/2020
8 9/10/2020 28/03/2021 21/05/2022 18/12/2020 11/12/2020 13/11/2020
9 16/10/2020 31/03/2021 24/05/2022 21/12/2020 14/12/2020 16/11/2020
10 23/10/2020 3/04/2021 27/05/2022 24/12/2020 17/12/2020 19/11/2020
11 30/10/2020 9/04/2021 2/06/2022 30/12/2020 23/12/2020 25/11/2020
12 6/11/2020 9/04/2021 2/06/2022 30/12/2020 23/12/2020 25/11/2020
图表应该看起来像这样。比较基线列与 ABCD 等。这种类型的图在 Python 中是否可行?这称为眼镜蛇图表,显示与基线日期的偏差
我试过这个,越来越近了,看起来不像excel那么好。
figure(num=None, figsize=(30, 16), dpi=80, facecolor='w', edgecolor='k')
baseline_date = cobra_df['Baseline Date']
plt.plot(Col_a, baseline_date, label="A")
plt.plot(Col_b, baseline_date, label="B")
plt.plot(Col_c, baseline_date, label="C")
plt.plot(Col_d, baseline_date, label="D")
plt.xlabel("Date")
plt.ylabel("Bdate")
plt.title("Cobra Chart")
plt.show()
解决方案
你可以使用 matplotlib。示例代码:
import matplotlib.pyplot as plt
plt.ylabel("activity date")
plt.xlabel("data date")
plt.plot(data_date_list1, activity_date_list1, color="blue")
plt.plot(data_date_list2, activity_date_list2, color="yellow")
plt.show()
这将几乎完全显示您想要的内容。
推荐阅读
- javascript - Cloud Firestore onSnapshot() 仅在没有初始状态的更改时触发
- javascript - 在js中将div旋转到一定高度
- c++ - 我可以以相同的方式使用 char* c 和字符串吗?
- java - android中的Webview不会从res/drawable加载图像
- java - Polarion ALM JAVA SDK API WorkItem 获取类型表示
- authentication - 关于身份验证令牌的 insomnia bitbucket git 配置
- javascript - 每次更新后如何停止渲染多个表?
- javascript - 以 express 呈现 JSON 文件以在 PUG 中进行插值
- javascript - 如何发送多个文件FormData,其中每个文件属于不同的FormControl?
- c# - 如果可以添加超过大小的元素,我们为什么要初始化数组的大小?