【问题标题】:plot only the time from datetime objects in matplot lib仅绘制 matplotlib 中 datetime 对象的时间
【发布时间】:2020-09-04 19:11:31
【问题描述】:

例如,我有一个格式为'2019-08-24 08:57:18.550' 的日期和时间值列表。我已经成功地将它们转换为 matplotlib 使用 datetime 和代码 matplotlib.dates.date2num(points) 理解的数字,但是我无法让 matplotlib 仅绘制时间,而不是关联的日期。 它创建的图形带有带有标签的刻度线,例如08-24 12,我假设其格式为“月-日小时”。我希望它只绘制时间,理想情况下使用“小时:分钟”或类似的格式。如何让 matplotlib 做到这一点?

【问题讨论】:

标签: python matplotlib


【解决方案1】:

如果我理解正确,并且您正在查找的是当前日期/时间,那么:

>>> from datetime import datetime
>>> current_time = datetime.now()
>>> current_time
datetime.datetime(2020, 5, 18, 22, 4, 41, 425538)

#################(year, month, day, hour, minute, second, microsecond)

然后你可以格式化它(这是我不太明白你在问什么),但如果你想要小时:分钟格式,那么:

from datetime import datetime

time = datetime.now()

hour = time.hour
minute = time.minute

print(f"{hour}:{minute}")

您应该注意datetime.datetime(2020, 5, 18, 22, 4, 41, 425538) 不可迭代。

【讨论】:

  • 如何让 matplotlib 使用该格式在图表上标记刻度线?它在图表上标记点的方式是08-24 12,但我不希望日期显示在标签中。因此,如果给定点的时间是 12:10(所以小时是 12,分钟是 10),那么我希望图表上的标签是 12:10,没有日期。抱歉,如果帖子令人困惑。
猜你喜欢
  • 2020-02-26
  • 2019-04-01
  • 2017-08-15
  • 2020-04-07
  • 2015-06-05
  • 2016-02-09
  • 2011-05-05
  • 2023-04-05
  • 1970-01-01
相关资源
最近更新 更多