code: def _plot_ica_overlay_evoked(evoked, evoked_cln, title, show):
      """Plot evoked after and before ICA cleaning.
  
      Parameters
      ----------
      evoked : instance of mne.Evoked
          The Evoked before IC rejection.
      evoked_cln : instance of mne.Evoked
          The Evoked after IC rejection.
      title : str | None
          The title of the figure.
      show : bool
          If True, all open plots will be shown.
  
      Returns
      -------
      fig : instance of Figure
      """
      import matplotlib.pyplot as plt
  
      ch_types_used = [c for c in ["mag", "grad", "eeg"] if c in evoked]
      n_rows = len(ch_types_used)
      ch_types_used_cln = [
          c for c in ["mag", "grad", "eeg"] if c in evoked_cln
      ]
  
      if len(ch_types_used) != len(ch_types_used_cln):
          raise ValueError(
              "Raw and clean evokeds must match. Found different channels."
          )
  
      fig, axes = plt.subplots(n_rows, 1, layout="constrained")
      if title is None:
          title = "Average signal before (red) and after (black) ICA"
      fig.suptitle(title)
      axes = axes.flatten() if isinstance(axes, np.ndarray) else axes
  
      evoked.plot(
          axes=axes, show=False, time_unit="s", spatial_colors=False
      )
      for ax in fig.axes:
          for line in ax.get_lines():
              line.set_color("r")
      fig.canvas.draw()
      evoked_cln.plot(
          axes=axes, show=False, time_unit="s", spatial_colors=False
      )
      fig.canvas.draw()
      plt_show(show)
      return fig
  
imports: import warnings
  from functools import partial
  import numpy
  from scipy.stats import gaussian_kde
  from .._fiff.meas_info import create_info
  from .._fiff.pick import _picks_to_idx, pick_types
  from .._fiff.proj import _has_eeg_average_ref_proj
  from ..defaults import DEFAULTS, _handle_default
  from ..utils import _reject_data_segments, _validate_type, fill_doc, verbose
  from .epochs import plot_epochs_image
  from .evoked import _butterfly_on_button_press, _butterfly_onpick
  from .topomap import _plot_ica_topomap
  from .utils import _compute_scalings, _convert_psds, _get_cmap, _get_plot_ch_type, _handle_precompute, _make_event_color_dict, plt_show
label_desc: Use image node_id 12 for calling a global function with example usage: _plot_ica_overlay_evoked(evoked, evoked_cln, title, show) and returns: fig