Я думаю, что вы должны использовать библиотеку datetime. Вы можете прочитать свои даты, используя эту команду date=datetime.strptime('17:21:55','%H:%M:%S')
, но вы должны использовать юлианскую дату в качестве справочной, установив date0=datetime(1970, 1, 1)
. Вы также можете использовать начальную точку своего временного ряда в качестве даты0, а затем установить свою дату как * 1003. *. Рассчитайте разницу между вашей фактической датой и контрольной датой IN SECONDS (для этого есть несколько функций) для каждой строки в вашем файле, используя цикл, и измените эту разницу на элемент списка (мы назовем этот список Diff_list). В конце используйте T_plot= [dtm.datetime.utcfromtimestamp(i) for i in Diff_List]
. Наконец, plt.plot(T_plot,values)
позволит вам визуализировать даты на оси X.
Вы также можете использовать библиотеку панд
сначала определите ваш разбор даты в зависимости от типа даты в вашем файле parser=pd.datetime.strptime(date, '%Y-%m-%d %H:%M:%S')
Тогда вы читаете свой файл
tmp = pd.read_csv(your_file, parse_dates={'datetime': ['date', 'time']}, date_parser=parser, comment='#',delim_whitespace=True,names=['date', 'time', 'Values'])
data = tmp.set_index(tmp['datetime']).drop('datetime', axis=1)
Вы можете адаптировать эти строки, если вам нужно представлять только часы HH:MM:SS
, а не всю дату.
N.B: индексирование не будет от 0 до data.values.shape[0]
, но даты будут использоваться в качестве индексов. Так что если вы хотите построить график, вы можете сделать import matplotlib.pyplot as plt
, а затем plt.plot(data.index,data.Values)