我正在使用 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')