Python 日期时间索引产生错误的x轴标签

Python 日期时间索引产生错误的x轴标签,python,pandas,plot,Python,Pandas,Plot,我有以下数据帧,其中包含以下日期时间索引 DatetimeIndex(['2020-08-0814:16:51','2020-08-0814: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

我有以下数据帧,其中包含以下日期时间索引

DatetimeIndex(['2020-08-0814:16:51','2020-08-0814: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轴的值与索引值不对应。如何解决此问题?

您可以尝试将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值在我的图表中是不同的。

您可以尝试将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值在我的图表中是不同的