如何在matplotlib中的x轴上显示日期和时间

Ant*_*pov 8 python matplotlib

我想在matplotlib中为x轴分配完整的日期和时间,但是使用自动缩放我只能获得时间或日期,但不能同时获得两者.以下代码:

import matplotlib.pyplot as plt
import pandas as pd

times = pd.date_range('2015-10-06', periods=500, freq='10min')

fig, ax = plt.subplots(1)
fig.autofmt_xdate()
plt.plot(times, range(times.size))
plt.show()
Run Code Online (Sandbox Code Playgroud)

在x轴上,我只得到没有任何日期的时间,因此难以区分测量.

我认为它是matplotlib.dates.AutoDateFormatter中的matplotlib中的一些选项,但我找不到任何可以允许我更改该自动缩放的选项.

在此输入图像描述

tmd*_*son 14

您可以使用a来执行此操作matplotlib.dates.DateFormatter,该strftime格式字符串作为其参数.要获得day-month-year hour:minute格式,您可以使用%d-%m-%y %H:%M:

import matplotlib.pyplot as plt
import pandas as pd
import matplotlib.dates as mdates

times = pd.date_range('2015-10-06', periods=500, freq='10min')

fig, ax = plt.subplots(1)
fig.autofmt_xdate()
plt.plot(times, range(times.size))

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

plt.show()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述