我希望这有帮助。我总是很难过matplotlib的日期。Matplotlib需要一种浮动
格式,该格式是从纪元以来的几天。辅助函数num2date以及date2numpython
内置datetime函数可用于来回转换。此 示例取消了格式化业务。您可以使用将任何绘图上的轴更改为日期轴。
set_major_formatter.
import numpy as npfrom matplotlib import pyplot as pltfrom matplotlib import datesimport datetimea = np.array([ [1293605162197, 0, 0], [1293605477994, 63, 0], [1293605478057, 0, 0], [1293605478072, 2735, 1249], [1293606162213, 0, 0], [1293606162229, 0, 0]])d = a[:,0]y1 = a[:,1]y2 = a[:,2]# convert epoch to matplotlib float formats = d/1000ms = d-1000*s # not needed?dts = map(datetime.datetime.fromtimestamp, s)fds = dates.date2num(dts) # converted# matplotlib date format objecthfmt = dates.DateFormatter('%m/%d %H:%M')fig = plt.figure()ax = fig.add_subplot(111)ax.vlines(fds, y2, y1)ax.xaxis.set_major_locator(dates.MinuteLocator())ax.xaxis.set_major_formatter(hfmt)ax.set_ylim(bottom = 0)plt.xticks(rotation='vertical')plt.subplots_adjust(bottom=.3)plt.show()


