python - Matplotlib:如何以时间(HH24:MI)为 Y 轴绘制图形
问题描述
我正在尝试绘制一个图表,显示不同营业日期每天的工作何时完成。
我的熊猫数据框看起来像......
business_dt job_finish_time job_name
0 19/03/2020 20/03/2020 09:17:08 job_1
1 20/03/2020 21/03/2020 08:10:11 job_1
2 21/03/2020 22/03/2020 14:12:02 job_1
3 19/03/2020 20/03/2020 20:10:04 job_2
4 20/03/2020 21/03/2020 20:06:02 job_2
5 21/03/2020 22/03/2020 21:44:01 job_2
所以 x 轴将显示业务 dt(dates) 和 y 轴显示工作何时完成,hh24:mi:ss。
因为我对 matplotlib 还很陌生,并且在绘制 Y 轴(hh24:Mi:ss)时遇到了困难。你们中的一个可以指导我如何使用 matplotlib 来绘制这个吗?
任何帮助,将不胜感激。
谢谢
解决方案
将您的数据转换为datetime.datetime
使用 datetime.strptime。请参阅此处的文档。
from datetime import datetime
datetime_y=[datetime.strptime(i, "%d/%m/%Y %H:%M:%S") for i in df['job_finish_time']]
datetime_x=[datetime.strptime(i, "%d/%m/%Y") for i in df['business_dt']]
plt.plot(datetime_x,datetime_y)
plt.show()
推荐阅读
- c# - UWP - 将 TextBlock.Text 属性绑定到基类和派生类中都存在的属性时引发 AmbiguousMatchException
- python - 我可以在线抑制 mypy 错误吗?
- c# - 字典需要“System.Collections.Generic.IEnumerable`1[ShimbaSchool.Models.EventMessageDepartment]”类型的模型项
- javascript - 为什么 Array 的自定义实现比原生 JavaScript Array 更高效?
- javascript - 从 .Net 执行 Javascript(IE 不在会话 0 中运行)
- vb.net - 在没有 PrinterDialog 的情况下以编程方式将 PDF 文件打印为 PDF
- asp.net-mvc - ASP.net MVC 5 TLS 1.2(关于 TLS 1.0 的 chrome 警告已弃用)
- c# - ASP.NET MVC 5 默认不发送 X-Frame-Options 标头
- c# - 从 windows 获取所有支持的扩展名列表
- rest - 在 REST 调用的输入参数中放入什么