是否可以在没有中间文件的情况下获得 pydot 图的输出?

Is it possible to get output of pydot graph without intermediate file?

我有一个非常简单的图表,我想将其绘制为 svg。例如:

# graph.dot
graph { 
        a -- b; 
        b -- c; 
    } 

我目前使用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.

但是,我需要在不需要中间文件 graph.dotgraph.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()

我的问题不仅限于pydot。如果有人知道我可以使用的网站 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()