Python 更改matplotlib中datetime.time轴的格式
我正在尝试将x轴的格式更改为%H:%M,而xticklabel全部变为00:00。Python 更改matplotlib中datetime.time轴的格式,python,datetime,matplotlib,Python,Datetime,Matplotlib,我正在尝试将x轴的格式更改为%H:%M,而xticklabel全部变为00:00。xs如下所示: [datetime.time(15, 8, 35), datetime.time(15, 8, 36), datetime.time(15, 8, 37)] 我尝试了以下脚本: import matplotlib.dates as mdate import matplotlib.pyplot as plt dates = ['15:08:35', '15:08:36', '15:08:37']
xs
如下所示:
[datetime.time(15, 8, 35), datetime.time(15, 8, 36), datetime.time(15, 8, 37)]
我尝试了以下脚本:
import matplotlib.dates as mdate
import matplotlib.pyplot as plt
dates = ['15:08:35', '15:08:36', '15:08:37']
xs = [datetime.strptime(d, '%H:%M:%S').time() for d in dates]
ys = range(len(xs))
plt.gca().xaxis.set_major_formatter(mdate.DateFormatter('%H:%M'))
plt.gca().xaxis.set_major_locator(mdate.DayLocator())
# Plot
plt.plot(xs, ys)
plt.gcf().autofmt_xdate()
plt.show()
图像如下所示:
如何将xticklabel更改为所需格式?Matplotlib可以处理
datetime
-对象,比time
对象更容易。您可以删除.time()
。这段代码应该可以工作,我编辑了日期以显示轴上不断变化的x值
将matplotlib.dates导入为mdate
将matplotlib.pyplot作为plt导入
从datetime导入datetime,timedelta
日期=[“15:05:35”,“16:08:36”,“17:09:37”]
#从strtime中删除.time()
xs=[datetime.strTime(d,“%H:%M:%S”)表示日期中的d]
ys=范围(len(xs))
plt.gca().xaxis.set\u major\u格式化程序(mdate.DateFormatter(“%H:%M”))
plt.gca().xaxis.set\u major\u定位器(mdate.DayLocator())
#显示x轴上的所有x值
plt.xticks(xs)
#密谋
plt.绘图(xs,ys)
plt.show()