Я рисую большой набор данных из базы данных с помощью matplotlib и использую mpld3 для передачи рисунка в браузер. По оси абсцисс даты. Проблема здесь в том, что при построении графика без mpld3 работает отлично, когда я его использую, даты отображаются неправильно.
Вот мой код:
date1 = '2015-04-22 20:28:50'
date2 = '2015-04-23 19:42:09'
db = Base('monitor').open()
result_set = db.select(['MeanVoltage','time'],"time>=start and time<=stop", start=date1, stop=date2)
V = [float(record.MeanVoltage) for record in result_set if record != 0]
Date = [str(record.time) for record in result_set]
dates = [datetime.datetime.strptime(record, '%Y-%m-%d %H:%M:%S') for record in Date]
dates = matplotlib.dates.date2num(dates)
fig, ax = plt.subplots()
plt.gca().xaxis.set_major_formatter(mdates.DateFormatter('%m/%d/%Y %H:%M:%S' ))
plt.gcf().autofmt_xdate()
ax.plot(dates,V)
#mpld3.fig_to_html(fig)
#mpld3.show(fig)
plt.show()
который показывает сюжет следующим образом: .
Теперь, если я закомментирую только эту строку:
plt.show()
и раскомментируйте эти два:
mpld3.fig_to_html(fig)
mpld3.show(fig)
рисунок отображается в браузере следующим образом:
Как видите, единственная проблема заключается в том, как даты отображаются на оси X. Есть ли способ преодолеть это?