电极位置图
import mne
import numpy as np
import matplotlib.pyplot as plt
# 使用 mne 内置的标准电极布局 (比如 'biosemi32')
montage = mne.channels.make_standard_montage('biosemi32')
# 创建一个 info 对象,指定采样频率和电极类型
info = mne.create_info(montage.ch_names, sfreq=250, ch_types='eeg')
# 创建 RawArray 对象
raw_data = np.random.randn(len(montage.ch_names), 1000) # 随机数据
raw = mne.io.RawArray(raw_data, info)
# 将标准电极布局应用到 Raw 数据中
raw.set_montage(montage)
# 绘制电极位置图
fig, ax = plt.subplots(figsize=(8, 8))
# 使用 plot_sensors 绘制电极位置图
raw.plot_sensors(show_names=True, axes=ax, show=False)
# 美化图形
ax.set_title('EEG Electrode Locations (BioSemi32)', fontsize=16, weight='bold') # 设置标题
ax.set_facecolor('white') # 设置背景颜色为白色
ax.set_xticks([]) # 隐藏x轴
ax.set_yticks([]) # 隐藏y轴
# 设置电极标记字体大小
for label in ax.get_xticklabels() + ax.get_yticklabels():
label.set_fontsize(12)
label.set_weight('bold')
# 去除边框
for spine in ax.spines.values():
spine.set_visible(False)
# 展示图像
plt.tight_layout()
plt.show()
二维表格
import matplotlib.pyplot as plt
# 电极位置图,按照您提供的格式
electrode_positions = [
[' ', ' ', ' ', 'FP1', ' ', 'FP2', ' ', ' ', ' '],
[' ', ' ', ' ', 'AF3', ' ', 'AF4', ' ', ' ', ' '],
['F7', ' ', 'F3', ' ', 'FZ', ' ', 'F4', ' ', 'F8'],
[' ', 'FC5', ' ', 'FC1', ' ', 'FC2', ' ', 'FC6', ' '],
['T7', ' ', 'C3', ' ', 'CZ', ' ', 'C4', ' ', 'T8'],
[' ', 'CP5', ' ', 'CP1', ' ', 'CP2', ' ', 'CP6', ' '],
['P7', ' ', 'P3', ' ', 'PZ', ' ', 'P4', ' ', 'P8'],
[' ', ' ', ' ', 'PO3', ' ', 'PO4', ' ', ' ', ' '],
[' ', ' ', ' ', 'O1', 'OZ', 'O2', ' ', ' ', ' ']
]
# 创建一个 9x9 的网格
grid_size = 9
# 创建图形
fig, ax = plt.subplots(figsize=(10, 10))
# 关闭坐标轴
ax.axis('off')
# 创建表格并显示
table = ax.table(cellText=electrode_positions, loc='center', cellLoc='center', colWidths=[0.1] * grid_size)
# 添加背景颜色并优化外观
for (i, j), cell in table.get_celld().items():
if electrode_positions[i][j] != ' ':
# 对有电极的单元格添加颜色
cell.set_facecolor('lightblue') # 设置电极单元格背景颜色
else:
# 对无电极的单元格设置透明背景
cell.set_facecolor('white')
cell.set_edgecolor('black') # 设置边框颜色
cell.set_fontsize(12) # 设置字体大小
cell.set_text_props(weight='bold') # 设置字体加粗
cell.set_height(0.1) # 设置单元格高度
cell.set_width(0.1) # 设置单元格宽度
# 设置表格标题
plt.title('Electrode Positions in 9x9 Grid (Mapped)', fontsize=16)
# 显示图形
plt.show()