首页 > 解决方案 > 在 matplotlib python 中操作日期时间 x 轴时出错

问题描述

数据 df 采用以下格式:

    Id  Timestamp               Data    Group
0   1   2013-08-12 10:29:19.673 40.0    1
1   2   2013-08-13 10:29:20.687 50.0    2
2   3   2013-09-14 10:29:20.687 40.0    3
3   4   2013-10-14 10:29:20.687 30.0    4
4   5   2013-11-15 10:29:20.687 50.0    5
                    ...

我绘制了图表以观察Data代码随时间的变化情况:

%matplotlib notebook
%matplotlib inline

df['Timestamp'] = pd.to_datetime(df['Timestamp'])   
df= df[(df['Timestamp'] > '2013-12-05 ') & (df['Timestamp'] <= '2013-12-30 ')]

df1 = df[df['Group'] ==1]
df1.plot(x = 'Timestamp', y = 'Data',figsize=(20, 10))

该图看起来不错:在此处输入图像描述

但是当我试图缩小到2013-12-05 ~2013-12-11(从2013-12-05 ~2013-12-30)的时间间隔时,使用代码:

%matplotlib notebook
%matplotlib inline

df['Timestamp'] = pd.to_datetime(df['Timestamp'])   
df= df[(df['Timestamp'] > '2013-12-05 ') & (df['Timestamp'] <= '2013-12-11')]

df1 = df[df['Group'] ==1]
df1.plot(x = 'Timestamp', y = 'Data',figsize=(20, 10))

鉴于新的时间间隔在总持续时间的前半部分与旧图重叠,该图看起来不像我们预期的那样捕获旧图的前半部分。但是图表看起来像这样: 在此处输入图像描述 x 轴标记也不再有意义。会出什么问题?任何帮助表示赞赏。谢谢

标签: pythonpandasmatplotlib

解决方案


推荐阅读