гистограмма matplotlib с датами

Я знаю о plot_date(), но есть ли там bar_date()?

Общий метод заключался бы в использовании set_xticks и set_xticklabels, но я бы хотел что-то, что могло бы обрабатывать временные шкалы от нескольких часов до нескольких лет (это означает использование основных и второстепенных тиков, чтобы сделать вещи удобочитаемыми, я думаю).

Изменить: я понял, что рисую значения, связанные с определенным интервалом времени (который охватывает полоса). Я обновил ниже базовое решение, которое я использовал:

import matplotlib.pyplot as plt  
import datetime  
t=[datetime.datetime(2010, 12, 2, 22, 0),datetime.datetime(2010, 12, 2, 23, 0),         datetime.datetime(2010, 12, 10, 0, 0),datetime.datetime(2010, 12, 10, 6, 0)]  
y=[4,6,9,3]  
interval=1.0/24.0  #1hr intervals, but maplotlib dates have base of 1 day  
ax = plt.subplot(111)  
ax.bar(t, y, width=interval)  
ax.xaxis_date()   
plt.show()

person Adam Greenhall    schedule 05.05.2011    source источник


Ответы (1)


Все, что делает plot_date, - это график функции и вызов _ 2_.

Все, что вам нужно сделать, это следующее:

import numpy as np
import matplotlib.pyplot as plt
import datetime

x = [datetime.datetime(2010, 12, 1, 10, 0),
    datetime.datetime(2011, 1, 4, 9, 0),
    datetime.datetime(2011, 5, 5, 9, 0)]
y = [4, 9, 2]

ax = plt.subplot(111)
ax.bar(x, y, width=10)
ax.xaxis_date()

plt.show()

гистограмма с датами x

person Joe Kington    schedule 05.05.2011
comment
Спасибо! В частности, я рисую значения, связанные с определенным интервалом времени (который охватывает полоса). Думаю, сейчас разобрался - редактирую выше. - person Adam Greenhall; 06.05.2011