Platform: Linux-6.0.12-76060006-generic-x86_64-with-glibc2.35
Python: 3.10.6 (main, Nov 14 2022, 16:10:14) [GCC 11.3.0]
Executable: /usr/bin/python3
CPU: x86_64: 8 cores
Memory: 15.3 GB
mne: 1.3.0
numpy: 1.24.2 {OpenBLAS 0.3.21 with 8 threads}
scipy: 1.10.1
matplotlib: 3.7.0 {backend=module://matplotlib_inline.backend_inline}
sklearn: 1.2.1
numba: Not found
nibabel: Not found
nilearn: Not found
dipy: Not found
openmeeg: Not found
cupy: Not found
pandas: 1.5.3
pyvista: Not found
pyvistaqt: Not found
ipyvtklink: Not found
vtk: Not found
qtpy: 2.3.0 {PyQt5=5.15.3}
ipympl: Not found
pyqtgraph: Not found
pooch: v1.6.0
mne_bids: Not found
mne_nirs: Not found
mne_features: Not found
mne_qt_browser: Not found
mne_connectivity: 0.5.0
mne_icalabel: Not found
Hi,
I am now confused because those montages give 3d coordinates and mne.viz.plot_topomap wand 2d pos argument. Do I need to project them mylself?
Thank you!
pos: array, shape (n_channels, 2) | instance of Info
Location information for the channels. If an array, should provide the x and y
coordinates for plotting the channels in 2D. If an Info object it must contain
only one channel type and exactly len(data) channels; the x/y coordinates will
be inferred from the montage in the Info object.
Indeed, if you want to use the array of shape (n_channels, 2), you need to project the 3D coordinates. This is not handy, instead use the second option: provide an Info with the correct channel name and the correct montage set. For instance:
info = create_info(ch_names=ch_names, sfreq=fs, ch_types="eeg")
info.set_montage("standard_1020")