在y轴上绘制python datetime.time,在x轴上绘制datetime.date

时间:2018-03-01 10:56:17

标签: python datetime plot

我有一个datetime.date列表和一个datetime.time值列表。我希望x轴上的日期和y轴上的时间。

x = [datetime.date(2018, 1, 15), datetime.date(2018, 1, 16), datetime.date(2018, 1, 17)]
y = [datetime.time(18, 15), datetime.time(17, 15), datetime.time(17, 47)]

当我尝试在y轴上绘制时间并在x上绘制日期时,我得到一个numpy错误:

  

" TypeError:float()参数必须是字符串或数字"

为了解决这个问题,我将两个值都转换为日期时间,在时间上添加任意日期,在日期中添加零时间:

x_new = [datetime.datetime.combine(d, datetime.datetime.min.time()) for d in x]
y_new = [datetime.datetime.combine(datetime.datetime.now().date(), t) for t in y]

那很好,但是当我绘制这个时,我的y轴显示没有分钟或秒,而是格式为'dd HH:MM',例如:' 01 17:16'如果我今天画。如果我放大,我可以看到分钟和秒,但这并不好。我只希望小时,分钟,秒钟显示,没有约会。

我希望使用plot_date选项而不仅仅是绘图,我可能会找到我需要的东西,但这对我没有帮助。

我希望我的问题有道理。任何帮助将非常感激。我看到一个例子,有人将他们的时间格式化为字符串,但我遇到了一些问题(另一个故事),如果可能的话,我宁愿使用日期时间。

谢谢!

0 个答案:

没有答案