python - 如何使用pyplot绘制时间?
问题描述
我有一个包含两列的 csv,一列是工作日名称,另一列是员工登录时间。如何使用 matplotlib 或 pyplot 进行绘制?无法获得如何在 Y 坐标中绘制时间。时间数据类似于“2017 年 2 月 23 日晚上 11:30”。
我需要对数据进行更改还是可以按原样绘制?
解决方案
使用 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()
推荐阅读
- json - JSONObject 和 Streams/Lambda
- pdfbox - Apache PDFBOX renderImageWithDPI UTF-8 问题
- flutter - 如何在屏幕中正确放置 CustomPainter 动画?
- ios - Flutter - 如何根据环境有条件地设置变量(TestFlight / App Store)
- c# - 为什么我不能使用自己的函数创建游戏对象?
- android - 在 Kotlin 的模拟器中看不到任何图像
- javafx - javafx.fxml.LoadException - ?
- python - 在字典中返回值的函数
- android - 从 Android 应用程序中读取 Google 电子表格并列出该数据?
- python - TypeError:('关键字参数不理解:','输入')