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

unguejic  于 2023-11-22  发布在  其他
关注(0)|答案(3)|浏览(115)

我想在matplotlib中为x轴分配完整的日期和时间,但使用autoscale,我只能得到时间或日期,但不能同时得到两者。

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()

字符串
在x轴上,我只得到时间,没有任何日期,所以很难区分测量值。
我认为这是matplotlib中的一些选项,在matplotlib.dates.AutoDateFormatter中,但我找不到任何一个可以让我改变自动缩放的选项。


的数据

p5fdfcr1

p5fdfcr11#

您可以使用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()

字符串


的数据

i1icjdpr

i1icjdpr2#

plt.figure() 
plt.plot(...)
plt.gcf().autofmt_xdate() plt.show()

字符串

qcuzuvrc

qcuzuvrc3#

这是如何绘制日期和时间列时,它不是你的索引列。
第一个月

相关问题