使用python创建布局networkx图形布局

2024-10-03 02:35:50 发布

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

我正在处理一个问题,我的任务是使用networkx图可视化结果。我浏览了networkx库,并试图将其用于我的数据集。但是,我得到的图表不好,请参见下图。figure 我想创建类似月牙形的布局,减少混乱,调整节点之间的距离。我尝试了几个布局,包括spring_布局(图是该布局的输出)和更改了k值,但结果并不好

数据集包括:

     x        y
    -137.0   35.0
    1237.0   1572.0
   -1209.0  -1037.0
     601.0   812.0
    -679.0  -494.0
     216.0   432.0
     848.0  1027.0
    -1434.0 -1279.0
    -368.0  -241.0
    -866.0  -679.0
    1076.0  1271.0
    1422.0  1572.0
     465.0  632.0
     -12.0  315.0
   -1037.0  -866.0
      74.0  244.0
    -494.0  -308.0
     -12.0  133.0
    -241.0  -46.0
   -1386.0  -1209.0
     315.0  538.0
     680.0  848.0
    1271.0  1422.0
    -781.0  -609.0
    1027.0  1194.0
   -1279.0  -1116.0
    1194.0  1338.0
     133.0  315.0
     465.0  680.0
    -494.0  -137.0
   -1739.0  -1386.0
    -974.0  -781.0
    -823.0  -494.0
   -1116.0  -974.0
    -609.0  -406.0
    -308.0  -137.0
     315.0  465.0
    1338.0  1511.0
    -137.0  133.0
    -974.0  -679.0
     848.0  1076.0
    1422.0  1715.0
     538.0  732.0
     315.0  632.0
    1076.0  1422.0
     922.0  1164.0
   -1434.0  -1116.0
   -1279.0  -974.0
   -1589.0  -1386.0
     732.0  963.0

代码示例如下所示

import networkx as nx

G = nx.from_pandas_edgelist(data, source='x', target='y', create_using=nx.DiGraph)
pos= nx.spring_layout(G,k=.7)
nx.draw(G1, pos, node_size=800, with_labels=True, node_color='y')

节点和边的数量都是50。请就如何解决这个问题提出建议。提前谢谢

我希望在下面得到类似的图figure 2


Tags: 数据代码posimportnetworkxnode距离示例