【问题标题】:How to use python plot a bar chart which have different categories for each bar?如何使用python绘制一个条形图,每个条形都有不同的类别?
【发布时间】:2019-08-15 07:17:01
【问题描述】:

我想统计我的电脑每天的正常运行时间。

所以我想绘制一个条形图来显示每天的正常运行时间(可能一天启动多次)。

一个条形代表总共 24 小时,如果我的电脑在某个时间范围内工作,我希望当天条形的相应区域为redwhite,反之亦然。

现在我用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


    【解决方案1】:

    最后,我统计每天的总正常运行时间和停机时间,并标记最大的uptime + downtime。填写前几天额外的正常运行时间和停机时间(花费到0的时间)让uptime + downtime等于最大,然后绘制它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-21
      • 1970-01-01
      • 2020-05-28
      • 1970-01-01
      • 2020-09-15
      • 1970-01-01
      • 2021-07-07
      • 2022-01-18
      相关资源
      最近更新 更多