Matplotlib绘图时间序列图

时间:2017-07-07 06:54:26

标签: python pandas matplotlib

我有一个包含2列的pandas数据框:

Time     Values
07:40         5
08:10         6
08:25         3
08:53         4
...         ...

如何绘制折线图,​​其中x轴是时间,y轴是值?我试过了:

plt.plot(df["Time"],df["Values"])

但是我收到一条错误消息:ValueError: float的文字无效:18:03 。我将列转换为datetime格式并尝试了plot_date,但都失败了

1 个答案:

答案 0 :(得分:1)

例如,您需要确保正确使用日期时间库 如果您的时间是格式为“HH:MM”的字符串,则应将其拆分并执行以下操作

import datetime

def process_time(x):
  h, m = x.split(":")
  return datetime.time(hour=int(h), minute=int(m))

df['Time'].apply(process_time)

df.plot(x='Time', y='Values') 

pandas拥有自己的绘图功能,可以为你绘制线条