【问题标题】:DateTime index produces wrong x axis labelsDateTime 索引产生错误的 x 轴标签
【发布时间】:2020-08-21 09:48:31
【问题描述】:

我有以下包含以下日期时间索引的数据框

DatetimeIndex(['2020-08-08 14:16:51', '2020-08-08 14:16:56',
               '2020-08-08 14:17:01', '2020-08-08 14:17:06',
               '2020-08-08 14:17:11', '2020-08-08 14:17:16',
               '2020-08-08 14:17:21', '2020-08-08 14:17:26',
               '2020-08-08 14:17:31', '2020-08-08 14:17:36',
               '2020-08-08 14:17:41', '2020-08-08 14:17:46',
               '2020-08-08 14:17:51', '2020-08-08 14:17:56',
               '2020-08-08 14:18:01', '2020-08-08 14:18:06',
               '2020-08-08 14:18:11', '2020-08-08 14:18:16',
               '2020-08-08 14:18:21', '2020-08-08 14:18:26',
               '2020-08-08 14:18:31', '2020-08-08 14:18:36',
               '2020-08-08 14:18:41', '2020-08-08 14:18:46',
               '2020-08-08 14:18:51', '2020-08-08 14:18:56',
               '2020-08-08 14:19:02', '2020-08-08 14:19:07',
               '2020-08-08 14:19:12', '2020-08-08 14:19:18',
               '2020-08-08 14:19:23', '2020-08-08 14:19:28',
               '2020-08-08 14:19:33', '2020-08-08 14:19:38',
               '2020-08-08 14:19:43', '2020-08-08 14:19:48',
               '2020-08-08 14:19:53', '2020-08-08 14:19:59',
               '2020-08-08 14:20:04', '2020-08-08 14:20:09',
               '2020-08-08 14:20:14', '2020-08-08 14:20:19',
               '2020-08-08 14:20:24', '2020-08-08 14:20:29',
               '2020-08-08 14:20:35', '2020-08-08 14:20:40',
               '2020-08-08 14:20:45', '2020-08-08 14:20:50',
               '2020-08-08 14:20:55', '2020-08-08 14:21:00',
               '2020-08-08 14:21:05', '2020-08-08 14:21:10',
               '2020-08-08 14:21:15', '2020-08-08 14:21:20',
               '2020-08-08 14:21:25', '2020-08-08 14:21:30',
               '2020-08-08 14:21:35'],
              dtype='datetime64[ns]', name='ts', freq=None)

我想绘制时间序列,但是当我这样做时,我在 x 轴上得到了一些非常不同的刻度

dataframe.plot.line()

生成的折线图如下:

您可以看到 x 轴的值与索引值不对应。我该如何解决?

【问题讨论】:

    标签: python pandas plot


    【解决方案1】:

    您可以尝试格式化 x 轴以每 30 秒显示一次刻度,并将日期时间格式化为 '%Y-%m-%d %H:%M:%S'

    import pandas as pd
    import matplotlib.pylab as plt
    import matplotlib.dates as mdates
    
    ax = df.plot()
    # set monthly locator
    ax.xaxis.set_major_locator(mdates.SecondLocator(interval=30))
    # set formatter
    ax.xaxis.set_major_formatter(mdates.DateFormatter('%Y-%m-%d %H:%M:%S'))
    
    

    示例图:

    当然,我的图表中的 Y 值是不同的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-22
      • 2016-02-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多