python - 如何在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")
但我不知道如何根据检测到的社区将标签附加到节点。
解决方案
在创建 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)
推荐阅读
- python - Odoo 12:在按钮功能中使用多处理模块时遇到模块问题
- c# - 通过 USB 的异步字节传输超时,未传输数据
- javascript - 如何使用 `Array.prototype.filter` 从数组中删除一项?
- javascript - 如何向我以 express 呈现的 html 添加功能?
- google-apps-script - 如何使用 Apps 脚本设置谷歌电子表格循环依赖
- apache-camel - 文件传输后,标头中不存在诸如 CamelFileName 和 camelfilelength 之类的 azure-storage-datalake 标头
- python - 怎么能简单的实现这个功能
- javascript - javascript - 如何删除数组中的所有单个条目
- java - 使用带有自定义适配器的 Listview 关闭警报对话框
- c++ - 使用 QT Test 自定义测试名称