线性布局在NetworkX的Kamadao_kawai布局中指的是什么

问题描述

我正在Networkx中使用Kamado Kawai布局绘制图形

在文档中说

pos(dict或None可选(default = None))–节点的初始位置作为字典,节点作为键,值作为坐标列表或元组。如果为None,则对dim> = 2使用circle_layout(),对dim == 1使用线性布局。

我知道什么是circle_layout方法,但找不到关于线性布局的任何解释。

这是什么?

谢谢

解决方法

如果尝试获取尺寸设置为pos的{​​{1}},则会得到以下信息:

2

返回一维平面的位置(这是文档中引用的import networkx as nx G = nx.path_graph(5) pos = nx.kamada_kawai_layout(G,dim=1) print(pos) # {0: array([-1.]),# 1: array([-0.4999998]),# 2: array([-2.92838698e-07]),# 3: array([0.50000022]),# 4: array([0.99999987])} )。在一维平面中,您仅需要1个点作为坐标即可绘制,因此第二对坐标丢失了。您还可以看到房子的这些1-D点是here生成的。

Wheareas,如果linear layout,您将得到

将networkx导入为nx

dim=2

现在,将返回二维平面的点,即您同时拥有G = nx.path_graph(5) pos = nx.kamada_kawai_layout(G,dim=1) print(pos) # {0: array([0.72171323,1. ]),# 1: array([0.36392114,0.49778359]),# 2: array([ 0.00271944,-0.00197535]),# 3: array([-0.35988085,-0.50072794]),# 4: array([-0.72847295,-0.99508031])} x坐标。