如何为Matplotlib绘图添加日期类型X轴?
解决Pandas绘图时X轴显示数字而非日期的问题
嘿,我一眼就看出问题出在哪啦——你的date列还只是普通的字符串类型,Pandas根本没把它当成时间数据来处理,所以绘图时默认用行号(数字)当X轴啦。给你两步就能搞定:
第一步:将
date列转换为datetime类型
Pandas需要识别出这是时间数据才能正确处理,用pd.to_datetime()方法就能轻松转换:df['date'] = pd.to_datetime(df['date'])你的日期格式是标准的
YYYY-MM-DD HH:MM:SS,所以不需要额外指定格式参数,Pandas会自动识别。第二步:把
date列设置为DataFrame的索引
让时间列成为索引后,Pandas的plot方法就会自动用这个时间索引作为X轴的标签了:df.set_index('date', inplace=True)
修改后的完整代码如下:
import pandas as pd import numpy as np %matplotlib inline %pylab inline import matplotlib.pyplot as plt pylab.rcParams['figure.figsize'] = (15, 9) # 新增的关键处理步骤 df['date'] = pd.to_datetime(df['date']) df.set_index('date', inplace=True) df["msft"].plot(grid = True)
这样再运行代码,X轴就会显示你想要的日期时间啦!
内容的提问来源于stack exchange,提问作者Ann Kriebel
相关产品推荐
相关产品推荐

