如何使用 2 列 pandas 数据框使用 python graphviz 从 webgraphviz 重现结果

How do I reproduce results from webgraphviz with python graphviz using 2 column pandas dataframe

我有一个包含父进程和子进程 ID 的两列 pandas 数据框,如下所示:

    ChildID ParentID
0   460     580
1   580     716
2   460     724
3   716     840
4   716     812
5   724     884
6   716     800
7   1424    2028
8   2280    2368
9   2368    2480
10  2948    2916
11  3312    3896
12  3312    3468
13  3312    3996
16  4       460
17  460     480
18  3244    4168
19  1324    4796
20  5888    5048
21  2504    4424
22  1324    7584
23  2040    1400
24  1224    2452
..  ...     ...

我已经下载了 graphviz python 库,但同时为了看看我能做什么,我前往 http://www.webgraphviz.com/ 看看能做什么。我使用了相同的数据集,看起来还不错。

我搜索了一下,但找不到使用 python 库 graphviz 复制它的好方法。任何人都可以仅使用 2 列和可能的小示例为我指出正确的方向吗?

这是我的解决方案:

from graphviz import Graph
g = Graph('processs', filename='process.gv', engin='sfdp')
# run over all the rows and for each row add a new edge to the graph
for index, row in df.iterrows():
    g.edge(str(row['ChildID']), str(row['ParentID']))
g.view()

如果您在 windows 上使用 运行 graphviz 时遇到一些问题,您可能需要将 graphviz 的 bin 文件添加到 windows PATH,为此您可以使用:

import os
os.environ["PATH"] += os.pathsep + <path to the bin folder>

尽情享受吧!