使用 DOT 文件中 python 中的 graphviz 绘制有向图
Plotting the Digraph with graphviz in python from DOT file
这是 graphviz
的 API reference。我找不到任何从现有 dot
源文件生成有向图的方法。 render
和 view
等方法保存在新文件中。
如何显示现有 dot
代码的图表?
我能够使用 Source
class.
解决它
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()
输出将在同一个文件夹中,格式可以更改。
PS - 在 Ubuntu 上安装 graphviz
。首先安装使用
sudo apt install graphviz
然后sudo pip install graphviz
,否则不行。
您可以使用 API 中定义的 Source.from_file('/path/to/dot_file')
函数。
因此代码将是:
from graphviz import Source
path = '/path/to/dot_file'
s = Source.from_file(path)
s.view()
我在 Python.
中放置了一个非常短的代码,用于使用点文件显示图形
代码是这样的:
from graphviz import Source
path = 'abcd.dot'
s = Source.from_file(path)
print(s.source)
s.render('abcd.gv', format='jpg',view=True)
这是 graphviz
的 API reference。我找不到任何从现有 dot
源文件生成有向图的方法。 render
和 view
等方法保存在新文件中。
如何显示现有 dot
代码的图表?
我能够使用 Source
class.
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()
输出将在同一个文件夹中,格式可以更改。
PS - 在 Ubuntu 上安装 graphviz
。首先安装使用
sudo apt install graphviz
然后sudo pip install graphviz
,否则不行。
您可以使用 API 中定义的 Source.from_file('/path/to/dot_file')
函数。
因此代码将是:
from graphviz import Source
path = '/path/to/dot_file'
s = Source.from_file(path)
s.view()
我在 Python.
中放置了一个非常短的代码,用于使用点文件显示图形代码是这样的:
from graphviz import Source
path = 'abcd.dot'
s = Source.from_file(path)
print(s.source)
s.render('abcd.gv', format='jpg',view=True)