You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于边列表数据使用mne_connectivity的plot_connectivity_circle绘制弦图?

使用mne_connectivity.viz.plot_connectivity_circle绘制弦图的参数配置问题

我尝试用mne_connectivity.viz库中的plot_connectivity_circle函数绘制弦图,数据结构如下:letter和number列代表不同节点,Count列代表节点间的连接数量。生成数据的代码如下:

import random
import string
import pandas as pd

random.seed(10)

df = pd.DataFrame({
    "letter": [random.choice(string.ascii_lowercase) for x in range(20)],
    "number": [str(random.randint(0,22)) for x in range(20)],
    "Count": [random.randint(20,50) for x in range(20)]
})

该数据框包含20行数据,letter列是随机生成的小写字母,number列是0到22的字符串格式整数,Count列是20到50之间的随机整数。

MNE的文档示例大多使用连通性分数方阵,但文档提到:如果传入对应节点名称的索引数组,也可以使用一维数组作为连通性分数。我认为df.Count可以作为这个分数,但不清楚如何按正确顺序给node_names和indices参数传入相关数据,希望得到指导。


另外,我已经用holoviews库实现了类似的可视化,但定制选项不足,相关代码如下:

import numpy as np
import holoviews as hv
from holoviews import opts, dim
hv.extension('bokeh')
hv.output(size=350)

nodes = list(set(df['letter'].tolist() + df['number'].tolist()))
nodes = hv.Dataset(pd.DataFrame(nodes, columns=['node']))

chord = hv.Chord((df, nodes))
chord.opts(
    opts.Chord( 
               labels = 'node', label_text_font_size='12pt', 
               node_color='node', node_cmap='Category20', node_size=10, 
               edge_color='number', edge_cmap='Category20', edge_alpha=0.9, edge_line_width=1)
) 

这段代码生成的弦图展示了字母节点与数字节点之间的连接关系:节点标签为对应的字母或数字,不同节点用不同颜色区分;边的颜色对应number列的节点颜色,边的透明度和宽度固定,整体画布大小为350。

内容的提问来源于stack exchange,提问作者r0bt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 23:35:22