如何将日期时间格式的排列转换为python绘图?

如何将日期时间格式的排列转换为python绘图?,python,datetime,python-2.7,time,matplotlib,Python,Datetime,Python 2.7,Time,Matplotlib,我有一张这样的清单 HEIGHT DATE TIME ANGL FC COL ROW 3.76 20120127 18 27 52 291.9 1 399.0 311.0 5.46 20120127 18 38 43 293.5 1 462.0 343.0 6.31 20120127 18 43 18 292.8 1 311.0 288.0 8.49 20120127 18 54 05 290.7

我有一张这样的清单

 HEIGHT   DATE     TIME   ANGL  FC    COL     ROW
   3.76 20120127 18 27 52 291.9    1   399.0   311.0
   5.46 20120127 18 38 43 293.5    1   462.0   343.0
   6.31 20120127 18 43 18 292.8    1   311.0   288.0
   8.49 20120127 18 54 05 290.7    1   330.0   293.0
 11.08 20120127 19 06 05 293.1    1   350.0   305.0
 13.47 20120127 19 18 05 296.1    1   367.0   319.0
 16.09 20120127 19 30 06 297.8    1   386.0   333.0
 18.47 20120127 19 42 05 299.0    1   403.0   346.0
 21.73 20120127 19 54 06 300.4    1   426.0   364.0
 23.40 20120127 20 06 05 301.8    1   436.0   376.0
 28.33 20120127 20 18 05 302.7    1   471.0   402.0
我想用日期和时间行做一种时间安排,把它变成一个变量,然后画出这个和其他的

我试着用datetime,但什么也没得到

import datetime as dt
data=loadtxt('CME27.txt', skiprows=1)

col=data[:,7]
row=data[:,8]

h=data[:,2]
m=data[:,3]
s=data[:,4]

t=dt.time(h,m,s)
我搞错了

我想策划

plot(t,col)

谢谢

我认为您不能直接使用matplotlib绘制
datetime.time
对象。但是,您可以打印
datetime.datetime
对象。给定NumPy数组
data
,必须使用Python循环将浮点解析为
datetime.datetime
对象

你可以这样做:

import numpy as np
import datetime as DT
import matplotlib.pyplot as plt
import matplotlib.dates as mdates

data = np.loadtxt('CME27.txt', skiprows=1)

col, row = data[:, 7:9].T
dates = []
for date, h, m, s in data[:,1:5]:
    dates.append(
        DT.datetime.strptime('{date:.0f} {h:.0f} {m:.0f} {s:.0f}'.format(**locals()),
                             '%Y%m%d %H %M %S'))
fig, ax = plt.subplots()    
ax.plot(dates, col)
plt.xticks(rotation=25)
xfmt = mdates.DateFormatter('%H:%M:%S')
ax.xaxis.set_major_formatter(xfmt)
plt.show()


如果您安装了,那么上述内容可以简化为

import pandas as pd
import matplotlib.pyplot as plt

df = pd.read_table('CME27.txt', sep='\s+', skiprows=1, header=None,
                   parse_dates={'date':[1,2,3,4]})
df.columns = 'date height angle fc col row'.split()
df.plot('date', 'col')
plt.show()