mne_denoise.viz.plot_metric_violins#

mne_denoise.viz.plot_metric_violins(data, metric_cols, metric_labels=None, group_col='group', subject_col='subject', group_order=None, group_colors=None, group_labels=None, baseline_group=None, reference_lines=None, show_paired=True, suptitle=None, figsize=None, fname=None, show=True)[source]#

Plot violin + strip distributions with optional paired subject lines.

Parameters:
  • data (mapping of str to array-like) – Columnar mapping with group/subject columns and one or more metrics.

  • metric_cols (list of str) – Metric columns to render.

  • metric_labels (list of str | None) – Labels corresponding to metric_cols.

  • 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.

  • baseline_group (str | None) – Optional group used to draw a baseline mean line.

  • reference_lines (dict | None) – Optional horizontal reference lines per metric.

  • show_paired (bool) – Whether to draw subject-level paired lines.

  • suptitle (str | None) – Figure-level title.

  • figsize (tuple | None) – Figure size in inches. Defaults to (4 * n_metrics, 5.5).

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

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

Returns:

fig – Figure handle.

Return type:

matplotlib.figure.Figure

Raises:

ImportError – If seaborn is unavailable.

Examples

>>> import numpy as np
>>> from mne_denoise.viz import plot_metric_violins
>>> data = {
...     "subject": np.array(["s1", "s1", "s2", "s2"]),
...     "group": np.array(["A", "B", "A", "B"]),
...     "metric": np.array([0.2, 0.6, 0.1, 0.5]),
... }
>>> fig = plot_metric_violins(
...     data, ["metric"], group_col="group", subject_col="subject", show=False
... )