使用 graphviz 将有向图转换为 StringIO
Convert Digraph to StringIO with graphviz
有谁知道如何将 Digraph
转换为 io.StringIO
png 的技巧?我能找到的唯一代码是将它保存到磁盘,但我想省去任何磁盘使用,而是在内存中处理它:
from graphviz import Digraph
import io
dot = Digraph(comment='The Round Table')
dot.node('A', 'King Arthur')
# instead of this...
dot.render('test-output/round-table.gv', view=True)
# ... I need something like this:
data = io.StringIO()
dot.export_to_png(dot)
是这样的吗?
from graphviz import Digraph
import io
dot = Digraph(comment='The Round Table', format='gv')
dot.node('A', 'King Arthur')
data = io.StringIO()
print("writing")
data.write( dot.pipe().decode('utf-8') )
print("reading")
data.seek(0)
print(data.read())
# print(data.getvalue())
data.close()
有谁知道如何将 Digraph
转换为 io.StringIO
png 的技巧?我能找到的唯一代码是将它保存到磁盘,但我想省去任何磁盘使用,而是在内存中处理它:
from graphviz import Digraph
import io
dot = Digraph(comment='The Round Table')
dot.node('A', 'King Arthur')
# instead of this...
dot.render('test-output/round-table.gv', view=True)
# ... I need something like this:
data = io.StringIO()
dot.export_to_png(dot)
是这样的吗?
from graphviz import Digraph
import io
dot = Digraph(comment='The Round Table', format='gv')
dot.node('A', 'King Arthur')
data = io.StringIO()
print("writing")
data.write( dot.pipe().decode('utf-8') )
print("reading")
data.seek(0)
print(data.read())
# print(data.getvalue())
data.close()