sc_reconstruction.metrics.funky_heatmap#

sc_reconstruction.metrics.funky_heatmap(scores, *, higher_is_better=None, families=None, rank_colors=None, figsize=None, title=None, ax=None)[source]#

Render the Fig-3-style funky map from a method × metric score table.

Parameters:
  • scores (DataFrame) – DataFrame indexed by method (rows) and metric name (columns).

  • higher_is_better (Mapping[str, bool] | None) – Per-metric direction; defaults to sc_reconstruction.metrics.HIGHER_IS_BETTER. Missing keys default to True (higher = better).

  • families (Mapping[str, Sequence[str]] | None) – Mapping {family_name: [metric_names]} deciding which columns belong to which family. Family names are case-insensitive; the canonical labels used in the plot are "Statistical", "Biological", "Perturbational". Defaults to the paper’s grouping. Pass {} to disable family columns.

  • rank_colors (Mapping[str, str] | None) – Optional {family_label: hex_color} overriding the default palette (Overall = purple, Stat. = blue, Bio. = teal).

  • figsize (tuple[float, float] | None) – Matplotlib figsize. Defaults to (7, 0.4 * n_methods + 1.5).

  • title (str | None) – Optional title.

  • ax – Existing matplotlib axes to draw on.

Returns:

matplotlib.axes.Axes – The axes drawn onto.