def __edge_label()

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)}>"