使用日期时间时如何在 x 轴上显示时间?

时间:2021-03-27 14:36:07

标签: python datetime matplotlib plot time

基本上我有一个仅涵盖一天的日期时间列表,所以我想根据我所做的一天中的时间进行绘图,但我不知道如何用时间而不是日期来标记 x 轴,如图所示。

/register

Resulting plot

1 个答案:

答案 0 :(得分:0)

就像你设置刻度间距一样,你可以在从 matplotlib 导入 dates 后设置(日期)时间格式。

例如:

from datetime import datetime, timedelta

import numpy as np
from matplotlib import pyplot as plt
from matplotlib import dates as mdates
from matplotlib import ticker
# generate some dummy data...
n = 12
x = [datetime.now()+timedelta(hours=i) for i in range(n)]
y = np.random.rand(n)

tick_spacing = 0.08
time_fmt = '%H:%M:%S' # how you want to display time/date

fig, ax = plt.subplots(1,1)
ax.plot(x, y)
ax.xaxis.set_major_locator(ticker.MultipleLocator(tick_spacing))
ax.xaxis.set_major_formatter(mdates.DateFormatter(time_fmt))
plt.title('88992 Light Curve')
plt.ylabel('Magnitude')
plt.xlabel('Time')
plt.figure(figsize=(30,10))
plt.show()

enter image description here