2

我正在使用 python 对数据进行聚类。我的数据是一种具有源和目标的网络,可以通过图形进行可视化。完成聚类操作后,图中的每个节点都会获得一个数字标签,显示它属于哪个社区或集群。下面的示例显示了边缘列表的示例(源和目标):

A  B
A  C
B  C
C  D

...

聚类的结果是:

A   1
B   1 
C   1
D   2

....

我想使用pyvis库以这样一种方式可视化集群,即相同集群的节点(由数字标签显示,例如 1、2、...)具有相同的颜色。我将不胜感激任何帮助。

这是创建数据框并使用 pyvis 绘制它的示例代码,但我无法根据节点的簇号为节点着色!

import seaborn as sns
import networkx as nx
from pyvis.network import Network


data = {'source': ['A', 'A', 'B','C'], 'target': ['B', 'C', 'C','D'],'label':[1,1,1,2]}
df = pd.DataFrame(data)

G = nx.from_pandas_edgelist(df, 'source', 'target')
N = Network(height='100%', width='100%', bgcolor='white', font_color='black')

for n in G.nodes:
    N.add_node(n)
for e in G.edges.data():

    N.add_edge(e[0], e[1], color='red')

N.show('test.html')


4

0 回答 0