在一个点文件中解析多个有向图

Wei*_*Shi 8 python dot

我正在尝试以DOT格式处理和渲染一些图形.我拥有的点文件很大(~300MB),它包含多个有向图

digraph 1 {...}
digraph 2 {...}
digraph 3 {...}
Run Code Online (Sandbox Code Playgroud)

我有两个问题:
1.是否可以使用渲染只有1个有向图而不是整个图?
有什么东西dot -3 -Tps mygraph.dot -o out.ps只能渲染有关图3吗?

2.什么是最好的Python库来处理点格式?(其他语言也可以接受)
这里有两个我试过,但不够好
pydot它在导入后给我一个有向图列表,这很好,但它不处理" ".在节点名称中.例如,nd.nd [label="nd_node"]将失败

pygraphviz它确实处理".",但只在文件中给出多个图形定义时导入有向图1 :(

Rya*_*Fox 2

既然您已经拥有了dot,那么您还应该拥有gvpr一个图形处理工具。您可以使用简单的脚本打印第三个图表gvpr,如下所示:

BEGIN { int count = 0; }
BEG_G {
    count = count + 1;
    if(count == 3) {
        write($G);
    }
}
Run Code Online (Sandbox Code Playgroud)

然后,您可以将其用作源过滤器:

cat mygraph.dot | gvpr -f thirdgraph.gv | dot -Tps -o out.ps
Run Code Online (Sandbox Code Playgroud)