首页 > 解决方案 > 如何使用pyplot绘制时间?

问题描述

我有一个包含两列的 csv,一列是工作日名称,另一列是员工登录时间。如何使用 matplotlib 或 pyplot 进行绘制?无法获得如何在 Y 坐标中绘制时间。时间数据类似于“2017 年 2 月 23 日晚上 11:30”。

我需要对数据进行更改还是可以按原样绘制?

标签: pythonmatplotlibmachine-learningdata-science

解决方案


使用 datetime 格式化时间,然后直接使用 pyplot 绘制格式化的日期。一个示例代码。

from datetime import datetime
import matplotlib.pyplot as plt
import matplotlib.dates as mdates

sampleTime = "23/02/2017 at 11:30 PM"
timeFormatted = datetime.strptime(sampleTime, "%d/%m/%Y at %I:%M %p")
print(timeFormatted)

plt.scatter(timeFormatted, 0)

# reshape X labels
plt.gcf().autofmt_xdate()
showFormat = mdates.DateFormatter('%Y-%m-%d %H:%M')
plt.gca().xaxis.set_major_formatter(showFormat)

plt.show()

推荐阅读