matplotlib画时间序列图

数据储存在csv文件里面,格式是这样的

导入后直接开画

import pandas as pd
import matplotlib.pyplot as plt

df = pd.read_csv(r'E:\python\wind.csv')
plt.plot(df['time'],df['V1'])

plt.ylabel(u'风速',fontproperties='SimHei')
plt.xlabel(u'时间',fontproperties='SimHei')

plt.grid(True)
plt.show()

提示错误invalid literal for float(): 2017/2/27 13:30,
time这一列格式不对,需要转换一下。

df.time = pd.to_datetime(df.time)

加上这一行后能正常画出图,但是横坐标没有显示日期。

matplotlib画时间序列图_第1张图片
google了一下,发现一个解决方法,

import matplotlib.dates as mdates

xfmt = mdates.DateFormatter('%y-%m-%d %H:%M')
ax.xaxis.set_major_formatter(xfmt)

设定x轴的日期格式后,就可以了
matplotlib画时间序列图_第2张图片

你可能感兴趣的:(python,python)