使用NetworkX导出图的布局位置

8 投票
1 回答
4176 浏览
提问于 2025-04-17 03:19

在NetworkX中生成了图的x/y布局坐标后,怎么把这个图和节点的位置一起导出,像用GraphML这样的格式呢?

这些布局算法好像并没有直接在图上标注节点的位置?还是说其实有呢?

1 个回答

11

布局算法并不会设置节点的属性(但其实应该设置的)。下面是如何设置这些属性的方法:

In [1]: import networkx as nx

In [2]: G=nx.path_graph(4)

In [3]: pos=nx.spring_layout(G)

In [4]: nx.set_node_attributes(G,'pos',pos)

In [5]: G.node
Out[5]: 
{0: {'pos': array([ 0.,  0.])},
 1: {'pos': array([ 0.32267963,  0.03340727])},
 2: {'pos': array([ 0.67729057,  0.07011044])},
 3: {'pos': array([ 1.        ,  0.10350174])}}

撰写回答