我想让图表的生成更动态一些,这样其他用户就可以从我的代码中获得更多的价值。
目前,我这样做(和它的变化)产生各种各样的图表:
date_min = datetime.strptime('25/05/22 08:00:00', '%d/%m/%y %H:%M:%S')
date_max = datetime.strptime('25/05/22 09:15:00', '%d/%m/%y %H:%M:%S')
plt.xlim(date_min,date_max)
这工作得很好,但需要人们滚动代码来单独更改数据。
我试图做的是改变它,以便人们在代码开始时定义目标日期(target_date)和他们的时间范围(time_min, time_max),所以他们所要做的就是运行代码和所有图表。
我试图通过改变date_min变量来增加一些动态:
date_min = ''.join([datetime.strptime(target_date, '%d/%m/%y').strftime('%Y-%m-%d'), ' ', time_min])
然而,当我运行代码时,它在:
处出错了plt.xlim(date_min,date_max)
并显示以下错误信息:
AttributeError: 'numpy.str_' object has no attribute 'toordinal'
这看起来很奇怪,因为打印两个date_min代码的输出,它们在相同的结构下看起来是相同的。
有人知道为什么我遇到这个错误吗?
对于记录target_date为'25/05/22'(然后转换为正确的格式),time_min为'08:00:00'。
谢谢你的帮助。
试试这个:
date_min = datetime.strptime(f"{target_date} {time_min}", "%d/%m/%y %H:%M:%S")
date_max = datetime.strptime(f"{target_date} {time_max}", "%d/%m/%y %H:%M:%S")
plt.xlim(date_min,date_max)
(假设target_date
、time_min
、time_max
均为字符串)