plot_pareto_facets

site.SiteSolutionSet.plot_pareto_facets(
    id_col='solution_rank',
    name_col=None,
    show_site_names=True,
    diff_against=None,
    ncols=1,
    height_per_row=4.0,
    width_multiplier=2.2,
    theme='whitegrid',
    other_color='lightgray',
    palette='tab10',
    show_value_labels=False,
    show_dominated=True,
    title=None,
    wrap_at=110,
    show_raw_labels=True,
    rank_scope='all',
)

Plot each non-dominated (Pareto-optimal) solution on its own subplot facet.

Each facet highlights one specific Pareto-optimal solution while fading the other front solutions to the background, allowing side-by-side trade-off analysis.

Subplots are dynamically annotated with: - The solution ID & custom name - Included sites (if sites_col is provided) - The count of overall alternatives this specific solution dominates - Its key relative strengths and trade-offs compared to the Pareto average, each annotated with its rank (e.g. “Weighted average travel time (1st of 18)”)

Parameters

Name Type Description Default
rank_scope str Scope used to rank each metric for the Strengths/Sacrifices annotations. “all” ranks a solution’s metric against every enumerated solution (dominated + Pareto-optimal). “pareto_front” ranks it only against the other non-dominated solutions shown in this plot. "all"
diff_against str or None If given, adds a “Diff (vs ): +added, -removed” line to each facet’s title – the same per-row site-name diff show_solutions_summary(diff_against=...) computes, see _resolve_site_diff for the exact values accepted (“default”, “rank_1”, “previous_rank”, “required_sites”). None (the default) omits it, matching prior behaviour. Computed over just the Pareto-optimal front rows, so “previous_rank” diffs each facet against the next-best Pareto-optimal option, not a dominated solution that happens to sit between them in rank. None
Back to top