Repository: mne-tools/mne-python

Issue:
ValueError in mne.viz.plot_evoked_joint
I am using SEEG data, and I want to plot evoke joint figure, while I've got this problem.
```
    mne.viz.plot_evoked_joint(evoke)
  File "D:\SEEG_Cognition\SEEG\lib\site-packages\mne\viz\evoked.py", line 1458, in plot_evoked_joint
    colorbar=False, **topomap_args_pass)
  File "D:\SEEG_Cognition\SEEG\lib\site-packages\mne\evoked.py", line 356, in plot_topomap
    nrows=nrows, ncols=ncols)
  File "D:\SEEG_Cognition\SEEG\lib\site-packages\mne\viz\topomap.py", line 1540, in plot_evoked_topomap
    _prepare_topomap_plot(evoked, ch_type, sphere=sphere)
  File "D:\SEEG_Cognition\SEEG\lib\site-packages\mne\viz\topomap.py", line 103, in _prepare_topomap_plot
    exclude='bads')
  File "D:\SEEG_Cognition\SEEG\lib\site-packages\mne\io\pick.py", line 446, in pick_types
    _check_meg_type(meg)
  File "D:\SEEG_Cognition\SEEG\lib\site-packages\mne\io\pick.py", line 348, in _check_meg_type
    % (allowed_types, meg))
ValueError: meg value must be one of ['grad', 'mag', 'planar1', 'planar2'] or bool, not seeg
```
my code is pretty simpe, just 
```
import mne

fpath = 'color_epoch.fif'
data = mne.read_epochs(fpath, preload=True)
evoke = data['red'].average()
mne.viz.plot_evoked_joint(evoke)
```
Here is the data's link.

https://drive.google.com/file/d/1zIinPymoWgHlKav594EHyekU8zjewVS-/view?usp=sharing



Discussion:

Resolving patch:
diff --git a/mne/viz/evoked.py b/mne/viz/evoked.py
--- a/mne/viz/evoked.py
+++ b/mne/viz/evoked.py
@@ -1451,7 +1451,9 @@ def plot_evoked_joint(evoked, times="peaks", title='', picks=None,
     else:
         locator = None
 
-    topomap_args_pass = topomap_args.copy()
+    topomap_args_pass = (dict(extrapolate='local') if ch_type == 'seeg'
+                         else dict())
+    topomap_args_pass.update(topomap_args)
     topomap_args_pass['outlines'] = topomap_args.get('outlines', 'skirt')
     topomap_args_pass['contours'] = contours
     evoked.plot_topomap(times=times_sec, axes=map_ax, show=False,
diff --git a/mne/viz/topomap.py b/mne/viz/topomap.py
--- a/mne/viz/topomap.py
+++ b/mne/viz/topomap.py
@@ -98,6 +98,9 @@ def _prepare_topomap_plot(inst, ch_type, sphere=None):
         elif ch_type == 'csd':
             picks = pick_types(info, meg=False, csd=True, ref_meg=False,
                                exclude='bads')
+        elif ch_type == 'seeg':
+            picks = pick_types(info, meg=False, seeg=True, ref_meg=False,
+                               exclude='bads')
         else:
             picks = pick_types(info, meg=ch_type, ref_meg=False,
                                exclude='bads')


Test patch:
diff --git a/mne/viz/tests/test_topo.py b/mne/viz/tests/test_topo.py
--- a/mne/viz/tests/test_topo.py
+++ b/mne/viz/tests/test_topo.py
@@ -84,8 +84,8 @@ def return_inds(d):  # to test function kwarg to zorder arg of evoked.plot
                                                       time_unit='ms'),
                       ts_args=dict(spatial_colors=True, zorder=return_inds,
                                    time_unit='s'))
-    pytest.raises(ValueError, evoked.plot_joint, ts_args=dict(axes=True,
-                                                              time_unit='s'))
+    with pytest.raises(ValueError, match='If one of `ts_args` and'):
+        evoked.plot_joint(ts_args=dict(axes=True, time_unit='s'))
 
     axes = plt.subplots(nrows=3)[-1].flatten().tolist()
     evoked.plot_joint(times=[0], picks=[6, 7, 8], ts_args=dict(axes=axes[0]),
@@ -108,6 +108,13 @@ def return_inds(d):  # to test function kwarg to zorder arg of evoked.plot
                       topomap_args=dict(proj='reconstruct'))
     plt.close('all')
 
+    # test sEEG (gh:8733)
+    evoked.del_proj().pick_types('mag')  # avoid overlapping positions error
+    mapping = {ch_name: 'seeg' for ch_name in evoked.ch_names}
+    with pytest.warns(RuntimeWarning, match='The unit .* has changed from .*'):
+        evoked.set_channel_types(mapping)
+    evoked.plot_joint()
+
 
 def test_plot_topo():
     """Test plotting of ERP topography."""