python - 在 Y 轴上将 matplotlib 时间显示为 HH:MM
问题描述
我有一个包含时间和日期信息的日期时间事件列表。该列表包括相同的日期,只有时间从一个列表项更改为下一项。
我想显示一个散点图,其中 X 轴上的日期和 Y 轴上的时间。我可以通过从日期时间列表中提取日期数据来获取 X 轴,如下所示:
x = [e.date() for e in events]
但是,我不能对时间数据做同样的事情:
# Results in TypeError:
# float() argument must be a string or a number, not 'datetime.time'
y = [e.time() for e in events]
在阅读SO 上的这个答案后,我可以通过执行以下操作来获得我需要的视觉结果:
import matplotlib.dates as mdates
y = [mdates.date2num(e) % 1 for e in events]
但是,这会将 Y 轴上的标签显示为它们在 date2num 转换后的浮点数,从 0.0 到 1.0。
我该怎么做才能将标签显示为 00:00 到 23:59,希望具有可配置的滴答频率(例如每小时,每 4 小时)。我无法在上面的 SO 链接中重现结果。
谢谢你。
解决方案
推荐阅读
- django - Django动态页面生成
- django - 如何将站点包从 Virtualenv 移动到 Django 中的 App 文件夹
- java - 如何在 Liferay 7.1 上启用缓存复制。DXP 1.0 正式版?
- javascript - 具有服务器过滤但客户端分页的 Kendo Grid
- task-parallel-library - 多生产者多消费者数据同步与分离队列
- javascript - 如何识别给定的响应是对象、数组或空值。如果所有三个都是“对象”类型
- neo4j - 在 Neo4j 中从 CSV 加载数据时的 CASE 和 MERGE
- children - 如何通过库存 api 将子设备设置为设备?
- javascript - 如何解决 - 单击某些按钮不切换类
- python - 如何保留列中的前 200 个单词