繁体   English   中英

Python networkx 节点间距

[英]Python networkx node spacing

我有 1000 个不同的名称,每个名称构成一个节点。 每个名称可以无限次地与 0..1000 个其他名称连接。 我想以这样一种方式绘制它,即两个节点之间的距离与它们连接的次数成反比。

例子:

'node1' : ['node2','node2','node2','node2','node2','node3']
'node2' : ['node1','node1','node1','node1','node1']
'node3' : ['node1']

node1node2应该挤在一起, node3应该离得更远。

那可能吗? 目前我正在使用以下代码绘图:

import networkx as nx
import matplotlib.pyplot as plt

G = nx.Graph()
G.add_nodes_from(grapharr.keys())
for k in grapharr:
    for j in grapharr[k]:
        G.add_edge(k,j)

nx.draw_networkx(G, **options)

grapharr是一个字典结构,其中键是节点,值是包含特定节点连接的数组。

一般情况下是不可能的。 看看这张图:

在此处输入图片说明

想象一下,中心节点彼此之间有一千个连接,但“方形”节点之间只有一个连接。 你将如何绘制它们?

无论如何,您可以将连接级别设置为边缘权重,并使用力导向布局来尝试创建最佳布局(当然,但不是 100% 最佳)。 networkx ,有:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM