code: def test_plot_projs_topomap():
      """Test plot_projs_topomap."""
      projs = read_proj(ecg_fname)
      info = read_info(raw_fname)
      plot_projs_topomap(projs, info=info, colorbar=True, **fast_test)
      _, ax = plt.subplots()
      projs[3].plot_topomap(info)
      plot_projs_topomap(
          projs[:1], info, axes=ax, **fast_test
      )  # test axes
      triux_info = read_info(triux_fname)
      plot_projs_topomap(
          triux_info["projs"][-1:], triux_info, **fast_test
      )
      plot_projs_topomap(
          triux_info["projs"][:1], triux_info, **fast_test
      )
      eeg_avg = make_eeg_average_ref_proj(info)
      eeg_avg.plot_topomap(info, **fast_test)
      # test vlims
      for vlim in (
          "joint",
          (-1, 1),
          (None, 0.5),
          (0.5, None),
          (None, None),
      ):
          plot_projs_topomap(projs[:-1], info, vlim=vlim, colorbar=True)
  
      eeg_proj = make_eeg_average_ref_proj(info)
      info_meg = pick_info(info, pick_types(info, meg=True, eeg=False))
      with pytest.raises(ValueError, match="Missing channels"):
          plot_projs_topomap([eeg_proj], info_meg)
  
imports: from functools import partial
  from pathlib import Path
  import matplotlib
  import matplotlib.pyplot
  import numpy
  import pytest
  from matplotlib.patches import Circle
  from numpy.testing import assert_almost_equal, assert_array_equal, assert_equal
  from mne import Epochs, EvokedArray, Projection, compute_proj_evoked, compute_proj_raw, create_info, find_layout, make_fixed_length_events, pick_types, read_cov, read_evokeds, read_proj
  from mne._fiff.compensator import get_current_comp
  from mne._fiff.constants import FIFF
  from mne._fiff.pick import _picks_to_idx, channel_indices_by_type, pick_info
  from mne._fiff.proj import make_eeg_average_ref_proj
  from mne.channels import find_ch_adjacency, make_dig_montage, make_standard_montage, read_layout
  from mne.datasets import testing
  from mne.io import RawArray, read_info, read_raw_fif
  from mne.preprocessing import compute_bridged_electrodes
  from mne.time_frequency.tfr import AverageTFR
  from mne.viz import plot_evoked_topomap, plot_projs_topomap, topomap
  from mne.viz.tests.test_raw import _proj_status
  from mne.viz.topomap import _get_pos_outlines, _onselect, plot_arrowmap, plot_bridged_electrodes, plot_ch_adjacency, plot_psds_topomap, plot_topomap
  from mne.viz.utils import _fake_click, _fake_keypress, _fake_scroll, _find_peaks
label_desc: Use image node_id 2 for calling a global function with example usage: test_plot_projs_topomap() without return types