#python #datetime #matplotlib #bar-chart
#python #datetime #matplotlib #столбчатая диаграмма
Вопрос:
Я хочу получать статистику времени безотказной работы моего компьютера каждый день.
Итак, я хочу построить столбчатую диаграмму, чтобы показывать время безотказной работы каждого дня (может загружаться несколько раз в день).
Столбец представляет общее количество 24 часов, и если мой компьютер работает в определенном временном диапазоне, я хочу, чтобы соответствующая область столбца этого дня была окрашена red
, white
наоборот.
Теперь я использую class 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
Будет проще, если я буду подсчитывать общее время безотказной работы каждый день, а затем строить столбчатую диаграмму с накоплением.
Но я ожидал, что диаграмма может показать, работает ли компьютер в часовой или минутной степени.
Ответ №1:
Наконец, я подсчитываю общее время безотказной работы и простоя за каждый день и отмечаю наибольшее uptime downtime
. Заполните на днях дополнительное время безотказной работы сервера и простоя (время, затраченное на 0) пусть uptime downtime
из этого равно наибольшему, затем нанесите его на график.