Построение графика по времени (Python)

Я снова столкнулся с проблемой, которая вызывает у меня головную боль уже несколько часов … и я почти уверен, что это всего лишь незначительная вещь.

Я получил длинный файл данных и создал список с именами заголовков и их типами:

col_headers = [('TIMESTAMP','|S21'),('XXX_1','<i8'),('YYY_2','<i8') 

После этого я создал переменную словаря, которая содержит параметры и, наконец, импортировала ее с помощью

 bladata = scipy.genfromtxt(datafile, **kwargs) 

Для извлечения информации о времени я использовал

 import datetime as dt for i in range (0,len(bladata['TIMESTAMP']),1): datestring = bladata['TIMESTAMP'][i] #create a datetime object holding dates and times d = dt.datetime.strptime(datestring, '"%Y-%m-%d %H:%M:%S"') 

И, наконец, я присвоил данные переменной, используя

 XXX = bladata['XXX_1'] YYY = bladata['YYY_2'] 

(btw, когда имя заголовка в моем файле данных не XXX_1, но вместо XXX (1) я получаю сообщение об ошибке «поле с именем XXX (1) не найдено» – как я могу решить эту проблему?)

Теперь, когда дело доходит до построения графика, я получаю сообщение об ошибке

 x and y must have same first dimension 

при использовании следующего кода

 pylab.plot(dt, XXX) pylab.plot(dt, YYY) pylab.xlim(d.datetime(2014, 01, 10), d.datetime(2014, 06, 10)) 

Я искал это сообщение об ошибке и нашел решение, предлагающее преобразовать список в массив numpy … но где и какой? Я почти уверен, что это не большая проблема, но я не мог понять это несколько часов … так что я рад за любой полезный ответ.

€ dit: для уточнения … XXX и YYY – это два разных измерения, которые я хочу визуализировать в 1 сюжете по сравнению с его соответствующей датой.

One Solution collect form web for “Построение графика по времени (Python)”

В pylab.plot(dt, XXX) вы пытаетесь построить сам импортированный модуль datetime против списка значений, чего вы не хотите.

Вместо этого вы хотите что-то вроде pylab.plot(times, XXX) где times должно быть списком, содержащим объекты datetime соответствующие списку XXX .

Сообщение об ошибке, которое вы получаете, указывает, что 2 аргумента, которые вы передаете функции plot должны быть списками одинаковой длины.

См. « Время построения» в Python с помощью Matplotlib для получения дополнительной информации, включая форматирование меток оси X.

  • Ошибка pydot и graphviz: не удалось импортировать dot_parser, загрузка файлов точек будет невозможна
  • Отсутствует модуль zlib
  • Отображение функции C ++ на основе OpenCV с преобразованием Mat / Numpy в Python
  • Загрузка большего содержимого на веб-страницу и проблемы с записью в файл
  • Швейцарский турнир - алгоритм сопряжения
  • Альтернатива SignalR для Python
  • Размещение интерактивных участков в виджетах ipython
  • Как сохранить ввод текстового поля пользователя, когда пользователь нажимает «ok» на python?
  • Ли ' +' equal '(a | b) +' в модуле python re?
  • Движение Pygame - sprite вызывает слои
  • Как инициализировать массив NumPy с различным значением по умолчанию для каждого столбца?
  • Python - лучший язык программирования в мире.