在python matplotlib.dates中绘制毫秒数

时间:2011-04-07 20:16:03

标签: python matplotlib

我有时间标记使用datetime.datetime.strptime格式化的数据,包括毫秒。数据可以持续几分钟到几个小时。当我使用pyplot绘图并放大时,似乎最小刻度是1秒。似乎matplotlib的TickHelper RRuleLocator只有一个SecondLocator。有没有办法在放大时包含毫秒分辨率?

receivedTime = datetime.datetime.strptime(str(data[1]), "%H:%M:%S.%f")

fig=plt.figure()
ax=fig.add_axes([0.1,0.1,.8,.8])
fig.autofmt_xdate()

ax.plot(times, prices, color='blue', lw=1, drawstyle='steps-post', label = prices)
plt.show()

1 个答案:

答案 0 :(得分:1)

Matplotlib使用类似Matlab的数字(自1970年以来的秒数)来表示日期。如果您有毫秒,则必须将日期转换为“数字”:

import matplotlib.dates as mdates
ntimes = mdates.num2epoch(times / 1000.0)

并绘制ntimes而不是times