【问题标题】:How to loop over a range of datetime in order to plot a graph?如何遍历一系列日期时间以绘制图表?
【发布时间】:2022-06-28 23:04:05
【问题描述】:

我想循环一系列日期时间值,以便在 Python 的 matplotlib 图表中将其用作我的 x 轴。

这是我的代码:

import matplotlib.pyplot as plt
from datetime import datetime

dates = [
    datetime(2022, 6, 21, 0),
    datetime(2022, 6, 21, 1),
    datetime(2022, 6, 21, 2),
    datetime(2022, 6, 21, 3),
    ...
    datetime(2022, 6, 23, 10),
    datetime(2022, 6, 23, 11),
    datetime(2022, 6, 23, 12),
    ...
    datetime(2022, 6, 25, 21),
    datetime(2022, 6, 25, 22),
    datetime(2022, 6, 25, 23)
]
y = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9 , 10, ..., 168]

# plotting the points 
plt.plot(dates, y)
plt.show()

如何使用循环以避免手动输入日期时间? 例如,假设我想使用整周的每小时日期时间,这意味着dates = [] 中有 168 个日期时间。一点效率都没有!

你有什么想法吗?

感谢和问候,

【问题讨论】:

    标签: python datetime


    【解决方案1】:

    这应该可以解决问题:

    from datetime import datetime, timedelta
    
    start_date = datetime(2022, 6, 21, 0)
    end_date = datetime(2022, 6, 25, 23)
    
    hour = timedelta(hours=1)
    days = []
    
    while start_date <= end_date:
        days.append(start_date)
        start_date += hour
    
    print(days)
    

    【讨论】:

      猜你喜欢
      • 2017-09-25
      • 1970-01-01
      • 2012-05-23
      • 1970-01-01
      • 1970-01-01
      • 2022-07-26
      • 2016-06-16
      相关资源
      最近更新 更多