用DOT文件在python中用graphviz绘制Digraph

时间:2017-01-30 17:41:11

标签: python-2.7 graph graphviz dot

这是graphviz的{​​{3}}。我找不到任何从现有dot源文件生成有向图的方法。像renderview这样的方法保存在新文件中。

如何显示现有dot代码中的图表?

3 个答案:

答案 0 :(得分:8)

我能够使用Source类来解决它。

from graphviz import Source
temp = """
digraph G{
edge [dir=forward]
node [shape=plaintext]

0 [label="0 (None)"]
0 -> 5 [label="root"]
1 [label="1 (Hello)"]
2 [label="2 (how)"]
2 -> 1 [label="advmod"]
3 [label="3 (are)"]
4 [label="4 (you)"]
5 [label="5 (doing)"]
5 -> 3 [label="aux"]
5 -> 2 [label="advmod"]
5 -> 4 [label="nsubj"]
}
"""
s = Source(temp, filename="test.gv", format="png")
s.view()

Output

输出将在同一文件夹中,格式可以更改。

PS - 在Ubuntu上安装graphviz。首先安装使用 sudo apt install graphviz然后sudo pip install graphviz,否则无效。

答案 1 :(得分:2)

您可以使用API中定义的Source.from_file('/path/to/dot_file')函数。

因此代码将是:

from graphviz import Source
path = '/path/to/dot_file'
s = Source.from_file(path)
s.view()

答案 2 :(得分:0)

我写了一个很短的代码,用于在 Python 中使用点文件显示图形。

代码是这样的:

from graphviz import Source

path = 'abcd.dot'
s = Source.from_file(path)
print(s.source)

s.render('abcd.gv', format='jpg',view=True)