Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 更改matplotlib中datetime.time轴的格式_Python_Datetime_Matplotlib - Fatal编程技术网

Python 更改matplotlib中datetime.time轴的格式

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']

我正在尝试将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.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()