如何使用python词典数据列表创建网络图

时间:2018-03-13 19:45:02

标签: python

我有数据字典列表,使用这些数据我需要创建网络图。任何人都可以建议使用python脚本(或任何python库)的最佳技术。

 mocha --recursive *.js --reporter > test1.json

我想根据以下网络图描述数据。

enter image description here

2 个答案:

答案 0 :(得分:1)

您可以使用nwdiag库来创建网络图。请查看链接以获取更多信息。 http://blockdiag.com/en/nwdiag/index.html

检查示例: http://blockdiag.com/en/nwdiag/nwdiag-examples.html#simple-diagram

但是列表数据必须表示为以下格式。

示例示例:

nwdiag {
  network dmz {
      address = "210.x.x.x/24"

      // set multiple addresses (using comma)
      web01 [address = "210.x.x.1, 210.x.x.20"];
      web02 [address = "210.x.x.2"];
  }
  network internal {
      address = "172.x.x.x/24";

      web01 [address = "172.x.x.1"];
      web02 [address = "172.x.x.2"];
      db01;
      db02;
  }
}

答案 1 :(得分:0)

最近发布的N2G,它可以帮助从词典列表中生成yEd图,并查看演示和文档。

向图添加元素的示例代码:

from N2G import yed_diagram as create_yed_diagram

sample_list_graph = [
    {'source': 'dev', 'src_label': 'veth0:eth0', 'target': 'namespace', 'trgt_label': 'veth1:eth1'}
]

yed_diagram = create_yed_diagram()
yed_diagram.from_list(sample_list_graph)
yed_diagram.layout()
yed_diagram.dump_file()

运行上述代码后,N2G将在./Output目录中输出输出。可以在yEd图形编辑器桌面应用程序(类似于Visio的应用程序)中打开输出文件,使用layout->label placement->ok自动放置标签,并在编辑后如下所示: enter image description here