Ознакомьтесь с документацией для plot_date
. Для удобства plot_date
принимает аргументы, аналогичные plot
. Вызов может выглядеть так:
p.plot_date(sequence_of_datetime_objects, y_axis_values, 'go-')
Используя matplotlib.dates
, вы можете настроить формат ваших меток по оси X.
Простой пример:
Далее будет указано, что ось x отображается только каждый третий месяц в формате Jan '09
(при условии использования англоязычного языка).
p.xaxis.set_major_locator(mdates.MonthLocator(interval=3))
p.xaxis.set_major_formatter(mdates.DateFormatter("%b '%y"))
Поскольку даты и время хранятся отдельно, вы можете захотеть
- измените модель на
DateTimeField
или
- используйте Python для
combine
их.
Например:
import datetime as dt
t1 = dt.time(21,0,1,2) # 21:00:01.2
d1 = dt.date.today()
dt1 = dt.datetime.combine(d1,t1)
# result: datetime.datetime(2011, 4, 15, 21, 0, 1, 2)
Чтобы перебрать две последовательности и объединить их, вы можете использовать zip
(код только для иллюстративных целей, не обязательно оптимизированный):
sequence_of_datetime_objects = []
for a_date, a_time in zip(sequence_of_date_objects, sequence_of_time_objects):
sequence_of_datetime_objects.append(dt.datetime.combine(a_date, a_time))
Не стесняйтесь открывать другой вопрос, если вы застряли в реализации специфики.