Python matplotlib:以可读格式绘制毫秒时间序列

Python matplotlib:以可读格式绘制毫秒时间序列,python,matplotlib,plot,data-science,Python,Matplotlib,Plot,Data Science,我有一个以毫秒为单位表示时间序列的整数列表。每个值都是通过调用int(time.time()*1000)并附加到列表中获得的 现在我想使用matplotlib绘制一个绘图,该绘图将以%H:%M:%S”的格式在x轴上显示毫秒时间序列 我试图通过设置:plt.gca().xaxis.set\u major\u格式化程序(dates.DateFormatter(“%H:%M:%S”))将这些值与matplotlib数据格式化程序一起使用。 但我在尝试绘图时遇到以下错误:OverflowerError:

我有一个以毫秒为单位表示时间序列的整数列表。每个值都是通过调用
int(time.time()*1000)
并附加到列表中获得的

现在我想使用matplotlib绘制一个绘图,该绘图将以
%H:%M:%S”
的格式在x轴上显示毫秒时间序列

我试图通过设置:
plt.gca().xaxis.set\u major\u格式化程序(dates.DateFormatter(“%H:%M:%S”))将这些值与matplotlib数据格式化程序一起使用。
但我在尝试绘图时遇到以下错误:OverflowerError:int太大,无法转换

我还尝试通过调用
time.strftime(“%H:%M:%S',time.gmtime(time.time())
将已经预先格式化的时间序列值用作字符串,并将其添加到列表中,但没有成功,导致了这个问题:使用分类单位绘制一个字符串列表,这些字符串都可以作为浮点或日期进行分析。如果这些字符串应打印为数字,请在打印前转换为适当的数据类型


有人能帮我在x轴上以人类可读的格式绘制毫秒吗?

您可以使用转换时间值(以UTC为单位,从历元起为毫秒)。然后您可以使用标准的
日期格式化程序

import matplotlib.pyplot as plt
import matplotlib as mpl
import time

now_ms = int(time.time() * 1000)
x = [now_ms+t for t in range(0,10_000,1000)]

plt.plot([mpl.dates.epoch2num(t/1000) for t in x], range(10))
plt.gca().xaxis.set_major_formatter(mpl.dates.DateFormatter("%H:%M:%S")) 

您应该使用matplotlib。

您可以使用转换时间值(从UTC的历元起为毫秒)。然后您可以使用标准的
日期格式化程序

import matplotlib.pyplot as plt
import matplotlib as mpl
import time

now_ms = int(time.time() * 1000)
x = [now_ms+t for t in range(0,10_000,1000)]

plt.plot([mpl.dates.epoch2num(t/1000) for t in x], range(10))
plt.gca().xaxis.set_major_formatter(mpl.dates.DateFormatter("%H:%M:%S")) 

您应该使用matplotlib。

最简单的方法就是将其转换为datetime64,如下所示:

now_ms=int(time.time()*1000)
x=现在的平均值+np.arange(0,100001000)
x=x.astype('datetim64[ms]”)
plt.绘图(x,范围(10))

最简单的方法就是转换为datetime64,如下所示:

now_ms=int(time.time()*1000)
x=现在的平均值+np.arange(0,100001000)
x=x.astype('datetim64[ms]”)
plt.绘图(x,范围(10))

毫秒格式应为
%H:%M:%S.%f“
@Mr.T OP不想显示毫秒,问题是使用带有毫秒值的
数据格式化程序时出错。毫秒格式应为
%H:%M:%S.%f”
@Mr.T OP不想显示毫秒,问题是使用具有毫秒值的
数据格式化程序时出错。请不要使用epoch2num。它将被弃用。@JodyKlymak:你能给一些文档提供一个链接,说明
epoch2num
将被弃用吗?@JodyKlymak ehm抱歉,这是关于取消对
epoch2num
的预测,它与我在答案中包含的链接完全相同。@JodyKlymak感谢您提供的详细信息。也许这个理由应该包含在官方文件中。请不要使用epoch2num。它将被弃用。@JodyKlymak:你能给一些文档提供一个链接,说明
epoch2num
将被弃用吗?@JodyKlymak ehm抱歉,这是关于取消对
epoch2num
的预测,它与我在答案中包含的链接完全相同。@JodyKlymak感谢您提供的详细信息。也许这个理由应该包括在官方文件中。