2016-03-18 6 views
0

Я пытаюсь построить график времени и скорости. Я могу разобрать их из требуемого файла и создать для них структуру dict.Как построить график графика времени с использованием python

Ниже моя попытка

import matplotlib.pyplot as plt 
import sys 
import os 

data = {'velocity' : [2,4,6,8,12,50], 
     'time' : [12:08:00, 12:08:02, 12:08:04, 12:08:06, 12:08:08, 2:08:10]} 

plt.figure(1) 
plt.plot(data['time'] ,data['velocity']) 
plt.gcf().autofmt_xdate() 
plt.title('velocity vs time') 
plt.show() 

Так что, когда я пытаюсь построить их я получаю ValueError: invalid literal for float(): 12:08:00 error. Пока мне не повезло. Это что-то я пропустил здесь?

Благодаря

+0

Ошибка Показанное что 'участок()' ожидает ' float', поэтому вы можете конвертировать ваши значения времени в разумные значения типа 'float' или' int' перед построением графика. Быстрый поиск в Google также указывает, что они могут быть типа 'datetime.datetime', см. Http://stackoverflow.com/questions/19079143/how-to-plot-time-series-in-python для справки. – woozyking

+1

http://stackoverflow.com/q/1574088/2749397 – gboffi

+0

У вас также есть информация о дате, а не только время? – MaxNoe

ответ

1

список Ваши значения time должны быть либо строки или формат времени. Вы можете изменить data переменную

data = {'velocity' : [2,4,6,8,12,50], 
     'time' : ['12:08:00', '12:08:02', '12:08:04', '12:08:06', '12:08:08', '2:08:10']} 

И использовать plt.xticks() так:

plt.plot(data['velocity']) 
plt.xticks(range(len(data['time'])), data['time']) 

Что дает сюжет: Velocity vs. Time

Смежные вопросы