【发布时间】:2019-08-15 07:17:01
【问题描述】:
我想统计我的电脑每天的正常运行时间。
所以我想绘制一个条形图来显示每天的正常运行时间(可能一天启动多次)。
一个条形代表总共 24 小时,如果我的电脑在某个时间范围内工作,我希望当天条形的相应区域为red、white,反之亦然。
现在我用UptimeRangeInDay类表示一个时间范围,一天可能有几个UptimeRangeInDay对象,它们有相同的self.day但不同的self.start_point and end_point。
from dataclasses import dataclass
@dataclass
class UptimeRangeInDay:
btime: int
uptime: float
def __post_init__(self):
bdate = datetime.datetime.fromtimestamp(self.btime)
self.day = datetime.datetime(bdate.year, bdate.month, bdate.day)
self.start_point = (self.btime - self.day.timestamp()) / 86400
self.end_point = self.start_point + self.uptime / 86400
如果我计算每天的总正常运行时间会更简单,然后绘制一个堆积条形图。
但我希望有一个图表可以显示 PC 是以小时还是分钟为单位运行的。
【问题讨论】:
标签: python datetime matplotlib bar-chart