in playground/process_analysis/status_transition_graph_vistualizer.py [0:0]
def __edge_label(self, durations: list[float], label_statistic: StatisticLabelConfig) -> str:
stat = ""
match label_statistic:
case StatisticLabelConfig.AVG:
stat = f"{statistics.mean(durations):0.1f} days avg"
case StatisticLabelConfig.MEDIAN:
stat = f"{statistics.median(durations):0.1f} days med"
case StatisticLabelConfig.IQR:
if len(durations) >= 4:
quantiles = statistics.quantiles(durations, n=4)
stat = f"{quantiles[0]:0.1f} - {quantiles[2]:0.1f} days IQR (25-75%)"
case StatisticLabelConfig.MIN_MAX:
if len(durations) >= 2:
stat = f"{min(durations):0.1f} - {max(durations):0.1f} days min-max"
count = len(durations)
return f"<{stat}<BR/>{self.__count_label(count)}>"