mne_denoise.viz.plot_metric_slopes#

mne_denoise.viz.plot_metric_slopes(data, metric_cols=None, metric_labels=None, metric_specs=None, group_col='group', subject_col='subject', group_order=None, group_colors=None, group_labels=None, reference_lines=None, suptitle=None, title='Paired Subject-Level Comparison', fname=None, show=True)[source]#

Plot subject-level paired trajectories for one or more metrics.

Parameters:
  • data (mapping of str to array-like) – Columnar mapping with subject/group identifiers and metric columns.

  • metric_cols (list of str | None) – Metric columns to plot. Used only when metric_specs is None.

  • metric_labels (list of str | None) – Display labels aligned with metric_cols.

  • metric_specs (list[tuple[str, str]] | None) – Explicit list of (metric_col, metric_label) pairs.

  • group_col (str) – Grouping column name.

  • subject_col (str) – Subject identifier column name.

  • group_order (list of str | None) – Optional group order. If None, first-seen order is used.

  • group_colors (dict | None) – Optional style overrides keyed by group.

  • group_labels (dict | None) – Optional style overrides keyed by group.

  • reference_lines (dict | None) – Optional horizontal reference lines per metric: {metric_col: [(y_value, style_dict), ...]}.

  • suptitle (str | None) – Figure title. suptitle overrides title when provided.

  • title (str | None) – Figure title. suptitle overrides title when provided.

  • fname (path-like | None) – Optional output path.

  • show (bool) – Whether to display the figure.

Returns:

fig – Figure handle.

Return type:

matplotlib.figure.Figure

Examples

>>> import numpy as np
>>> from mne_denoise.viz import plot_metric_slopes
>>> data = {
...     "subject": np.array(["s1", "s1", "s2", "s2"]),
...     "group": np.array(["A", "B", "A", "B"]),
...     "metric": np.array([1.0, 0.8, 1.1, 0.7]),
... }
>>> fig = plot_metric_slopes(
...     data, metric_cols=["metric"], group_col="group", show=False
... )