【发布时间】:2020-12-21 19:11:25
【问题描述】:
我想代表一个计算机网络。设备有几个端口连接到另一个设备的端口。例如,在这里您可以看到设备a 的端口1/1/1 连接到设备b 的端口1/1/1。到目前为止,一切都很好......
现在我想将(真正接近的)端口与节点粘在一起,以便节点与其端口之间的距离为零。但是端口到端口之间的距离应该是宽松的。请记住,我的网络中的 ports 和 nodes 在 networkx 抽象中都表示为 nodes ...
到目前为止,我已经通过控制边的权重来实现这一点,当将节点及其端口链接在一起时,通过分配一个高值。
G.add_edge(node,node_port[0], w=2000)
稍后我可以使用pos = nx.spring_layout(G, weight='w') 读取该值。但是无论w 有多大,我都无法实现节点和端口之间的零距离。
有什么想法吗?谢谢!
【问题讨论】:
-
您的第二段令人困惑,您能澄清一下吗?我不熟悉端口的格式 1/1/1
-
只是端口名称的标签。在网络中端口被标识为
a/b/c是很常见的。所以我要说的是,例如,节点b有3 个端口:1/1/1、1/1/2和1/1/3。 -
spring_layout确实可以选择在其计算中包含边权重。这是文档:networkx.github.io/documentation/stable/reference/generated/…
标签: python-3.x networkx topology