This is the API reference for graphviz
. I could not find any method that generates a directed graph from an existing dot
source file. Methods like render
and view
save in a new file.
How can I display a graph from existing dot
code?
This is the API reference for graphviz
. I could not find any method that generates a directed graph from an existing dot
source file. Methods like render
and view
save in a new file.
How can I display a graph from existing dot
code?
I was able to solve it using 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()
The output will be in same folder, and format can be altered.
PS - To install graphviz
on Ubuntu. First install using
sudo apt install graphviz
and then sudo pip install graphviz
, else it won't work.
AttributeError: 'Dot' object has no attribute 'splitlines'
. Solved it by running dot.to_string()
before passing to Source()
–
Acacia You can use the Source.from_file('/path/to/dot_file')
function as defined in the API.
Thus the code will be:
from graphviz import Source
path = '/path/to/dot_file'
s = Source.from_file(path)
s.view()
I put a very short code for displaying graph using a dot file in Python.
The code is like this:
from graphviz import Source
path = 'abcd.dot'
s = Source.from_file(path)
print(s.source)
s.render('abcd.gv', format='jpg',view=True)
© 2022 - 2024 — McMap. All rights reserved.
AttributeError: 'function' object has no attribute 'splitlines'
– Supernatural