首页 > 解决方案 > 如何在pyvis中绘制具有社区结构的图

问题描述

我有一个边缘列表,其中节点是字符串值,例如城市名称。在对它们应用社区检测算法后,我得到了带有标签的城市,具有相同标签的城市被分组在同一个社区中。我想可视化具有相同标签的城市用相同颜色着色的城市图表。谁能帮我这个?我什至不知道 pyvis 有没有这个功能?

我可以使用以下代码绘制图表:

from pyvis.network import Network
net = Network(height='800px', width='800px', directed=False, notebook=True)
net.from_nx(G)
net.show("example.html")

但我不知道如何根据检测到的社区将标签附加到节点。

标签: pythonpyvis

解决方案


在创建 pyvis 图表时,您可以通过为社区中的每个节点赋予相同的颜色来为每个社区赋予唯一的颜色。就像是:

import random
r = lambda: random.randint(0,255)

# Loop over each community
for community in graph:
    communityColorString = '#%02X%02X%02X' % (r(),r(),r())
    
    # Loop over each node 
    for node in community:
        newGraph.add_node(word_a, word_a, title=word_a, color=communityColorString)

推荐阅读