7

我有一个非常简单的图表,我想将其绘制为 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。如果有人知道我可以使用它的 web api,那么它也可以。

非常感谢,提前。

4

1 回答 1

9

在花更多时间查看pydotobject 和graphobject 的可用方法之后,可以弄清楚:

以下代码有效:

import pydot    
dot_string = """graph { 
                    a -- b; 
                    b -- c; 
                } """

graphs = pydot.graph_from_dot_data( dot_string )
svg_string = graphs[0].create_svg() 
于 2016-07-11T08:28:27.143 回答