Можно ли получить вывод графика pydot без промежуточного файла?
у меня очень простой график, который я хочу построить как 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.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()
мой вопрос не ограничивается только pydot. Если кто-то знает веб-api, с помощью которого я могу это сделать, то и он будет делать.
большое спасибо, заранее.
1 ответов
Потратив еще некоторое время на просмотр доступных методов на 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()