Har*_*edi 6 python svg graphviz pygraphviz pydot
我有一个非常简单的图表,我想绘制为svg.例如:
# graph.dot
graph {
a -- b;
b -- c;
}
Run Code Online (Sandbox Code Playgroud)
我目前正在使用pydot读取文件,然后生成svg文件,如下所示:
import pydot
graphs = pydot.graph_from_dot_file('graph.dot')
graphs[0].write_svg('graph.svg') # there is only 1 graph so the 0 index.
Run Code Online (Sandbox Code Playgroud)
但是,我需要这样做而不需要中间文件graph.dot和graph.svg.我有graph.dot一个字符串中的代码内容,对应于我需要字符串中的svg输出.
我需要这样的东西:
graph_dot = "... ..." # string, I have this
graph_svg = convert_dot_to_svg(graph_dot)
# i need something like convert_dot_to_svg()
Run Code Online (Sandbox Code Playgroud)
我的问题不仅限于pydot.如果有人知道我可以做到这一点的web api,那么它也会这样做.
非常感谢,提前.
在花了一些时间查看pydot对象和graph对象的可用方法之后,可以想出:
以下代码有效:
import pydot
dot_string = """graph {
a -- b;
b -- c;
} """
graphs = pydot.graph_from_dot_data( dot_string )
svg_string = graphs[0].create_svg()
Run Code Online (Sandbox Code Playgroud)