# Creating 3D topographic map using only EEG data and sensor positions.

**URL:** <https://mne.discourse.group/t/creating-3d-topographic-map-using-only-eeg-data-and-sensor-positions/11643>\
**Category:** Support & Discussions\
**Created:** [January 4, 2026, 7:52pm UTC](https://mne.discourse.group/t/creating-3d-topographic-map-using-only-eeg-data-and-sensor-positions/11643 "2026-01-04T19:52:52Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![SanathBD](https://yyz2.discourse-cdn.com/free1/user_avatar/mne.discourse.group/sanathbd/32/4570_2.png) [@SanathBD](https://mne.discourse.group/u/SanathBD)\
**Post date:** [January 4, 2026, 7:52pm UTC](https://mne.discourse.group/t/creating-3d-topographic-map-using-only-eeg-data-and-sensor-positions/11643/1 "2026-01-04T19:52:52Z")

</div>

- MNE version: e.g. 1.11.0
- operating system: e.g. Windows 11

I want to plot a 3D topomap using only EEG data and sensor position (64 channels). How to implement? I have no MEG data. Any resources will be highly appreciated. Thanks in advance.

---

<div class="post-metadata">

**Author:** ![wmvanvliet](https://yyz2.discourse-cdn.com/free1/user_avatar/mne.discourse.group/wmvanvliet/32/100_2.png) [@wmvanvliet](https://mne.discourse.group/u/wmvanvliet)\
**Post date:** [January 6, 2026, 8:00am UTC](https://mne.discourse.group/t/creating-3d-topographic-map-using-only-eeg-data-and-sensor-positions/11643/2 "2026-01-06T08:00:42Z")

</div>

I’m not sure we currently support that. I was initially thinking to call `mne.make_field_map` followed by `mne.viz.plot_evoked_field`, but we would need some sort of 3D mesh of a standard head to draw the topomap on, and we don’t have a good one for this purpose (the “fsaverage” template looks weird without a nose 😉)

---

<div class="post-metadata">

**Author:** ![wmvanvliet](https://yyz2.discourse-cdn.com/free1/user_avatar/mne.discourse.group/wmvanvliet/32/100_2.png) [@wmvanvliet](https://mne.discourse.group/u/wmvanvliet)\
**Post date:** [January 6, 2026, 8:09am UTC](https://mne.discourse.group/t/creating-3d-topographic-map-using-only-eeg-data-and-sensor-positions/11643/3 "2026-01-06T08:09:51Z")

</div>

One could use the head from the “sample” dataset I suppose… but beware that this may be inaccurate.

```python
import mne

# Use the "kiloword" EEG dataset for this example. It has 32 channels.
path = mne.datasets.kiloword.data_path()

# Read EEG epochs.
epochs = mne.read_epochs(path / "kword_metadata-epo.fif")

# Set channel positions based on the 10-5 system.
epochs.set_montage("standard_1005")

# Compute the ERP.
evoked = epochs.average()

# Use the "sample" head to draw the topomap on.
sample_path = mne.datasets.sample.data_path()
trans = sample_path / "MEG/sample/sample_audvis_raw-trans.fif"

# Create the 3D topomap.
fieldmap = mne.make_field_map(
    evoked,
    subject="sample",
    subjects_dir=sample_path / "subjects",
    trans=trans,
)
evoked.plot_field(fieldmap)

```

 ![image](https://global.discourse-cdn.com/free1/uploads/mne/original/2X/5/5cdb7fd5208a46e7b99f0600c04661a6569660b5.jpeg)

---

<div class="post-metadata">

**Author:** ![SanathBD](https://yyz2.discourse-cdn.com/free1/user_avatar/mne.discourse.group/sanathbd/32/4570_2.png) [@SanathBD](https://mne.discourse.group/u/SanathBD)\
**Post date:** [January 6, 2026, 10:11am UTC](https://mne.discourse.group/t/creating-3d-topographic-map-using-only-eeg-data-and-sensor-positions/11643/4 "2026-01-06T10:11:11Z")

</div>

Thanks a ton! It works. I had to apply simple scaling in my case, as my data was not in volts. However, I do see some discrepancies between the topomap and the 3D field map; they are not exactly similar. I may not fully understand the underlying process for generating the 3D field map. Could you enlighten me?

 ![Screenshot 2026-01-06 160927](https://global.discourse-cdn.com/free1/uploads/mne/original/2X/6/6dbf462fb91e63100759d4de53af8ece05c53c00.png)

---

<div class="post-metadata">

**Author:** ![wmvanvliet](https://yyz2.discourse-cdn.com/free1/user_avatar/mne.discourse.group/wmvanvliet/32/100_2.png) [@wmvanvliet](https://mne.discourse.group/u/wmvanvliet)\
**Post date:** [January 6, 2026, 12:10pm UTC](https://mne.discourse.group/t/creating-3d-topographic-map-using-only-eeg-data-and-sensor-positions/11643/5 "2026-01-06T12:10:42Z")

</div>

they are not similar, and I warned you it may be inaccurate, because the standard EEG electrodes positions follow a perfect sphere. However, the head is not a perfect sphere. The EEG positions get projected somewhat awkwardly on the head of this particular subject, which also probably doesn’t match the head of the actual subject. I think that, and of course the fact that a different color map is used, explains most of the discrepancy.

---

<div class="post-metadata">

**Author:** ![wmvanvliet](https://yyz2.discourse-cdn.com/free1/user_avatar/mne.discourse.group/wmvanvliet/32/100_2.png) [@wmvanvliet](https://mne.discourse.group/u/wmvanvliet)\
**Post date:** [January 6, 2026, 12:14pm UTC](https://mne.discourse.group/t/creating-3d-topographic-map-using-only-eeg-data-and-sensor-positions/11643/6 "2026-01-06T12:14:02Z")

</div>

I think a word of caution is in order here: do not trust the 3d topomap we are cobbling together here. Do not use this for a figure in a scientific publication.
