在matplotlib中以轴格式将微秒设置为两位小数

时间:2020-02-27 20:44:24

标签: matplotlib

我正在构建一个简单的程序,该程序将显示运动员进度的图形。因此,我们有两组数据:年龄和该年龄的结果。

这是我的代码:

x = [15, 16, 17]  # age of athlete
y_raw = ['52,70', '52,55', '53,03']  # time in string
y = []
for item in y_raw:
    item_datatime = datetime.strptime(item, '%S,%f')  # transform time in string into datetime format
    y.append(item_datatime)

plt.style.use('seaborn')
plt.plot(x, y, 'bo', label='Athlete')
ax_time_format = '%S,%f'
plt.xticks(range(min(x) - 1, max(x) + 2))
plt.tight_layout()
plt.gca().yaxis.set_major_locator(mpl_dates.AutoDateLocator())
plt.gca().yaxis.set_major_formatter(mpl_dates.DateFormatter(ax_time_format))

plt.show()

结果: enter image description here

我希望y轴精确到小数点后两位,因此它应该从尾部开始依次为52,60,然后52,70,然后52,80,依此类推。我不知道该如何解决这个问题(我曾尝试将ax_time_format = '%S,%f'编写为ax_time_format = '%S,%02f',但这是行不通的。

那么,这里有什么想法吗?

p.s。我知道如何以普通数字格式执行此操作,但是该方法不适用于数据时间格式(或者我做错了)。

0 个答案:

没有答案