基于加权图可视化的节点聚类

2024-09-22 18:19:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我是图形分析新手,我需要一些关于如何可视化图形的提示

我有一个熊猫数据框,其中包含有一定距离的边

以下是我的数据帧示例:

    node_1, node_2, distance
1    nodeA,  nodeB,     12.5 
2    nodeA,  nodeA,        1 
3    nodeB,  nodeA,     10.6 
4    nodeC,  nodeD,       20 
5    nodeD,  nodeE,       25 
...    ...     ...       ...

在我的真实数据集中,我有大约400个节点和1000条边

使用库networkx,我已经能够绘制我的图形:

G = nx.from_pandas_edgelist(df = edges, source = 'node_1', target = 'node_2', edge_attr='distance')
G.add_nodes_from(nodes_for_adding = edges['node_1'].tolist())

edge_all = [(u,v) for (u,v,d) in G.edges(data=True)]

pos=nx.spring_layout(G)
plt.figure(figsize=(40,30))
nx.draw_networkx_nodes(G,pos,node_size=10)                 # draw nodes
nx.draw_networkx_edges(G,pos,edgelist=edge_all,width=0.08) # draw edges

enter image description here

幸运的是,我知道我的图表应该是什么样子。它应该是由一些独立节点连接在一起的一组节点。(通过低距离的大量连接定义集群)

什么是表示我想要的图形的好方向

这个可视化的目标是,然后在它上面映射一些路径,以查看它是如何从一些集群到另一些集群的

--编辑--

以下是Paul Brodersen提出的使用方法的输出:

使用基于边缘距离的8个聚类的谱聚类进行分割

enter image description here


Tags: 数据posnetworkxnode图形距离节点可视化