4
나는 SVG로 음모를 꾸미고 싶은 아주 간단한 그래프를 가지고있다. 나는 현재 파일을 읽고 다음과 같이 SVG 파일을 생성하는 pydot을 사용하고중간 파일없이 pydot 그래프를 출력 할 수 있습니까?
# graph.dot
graph {
a -- b;
b -- c;
}
: 예를 들어
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 출력이 필요합니다. 내 질문 만 pydot 제한되지 않는다
graph_dot = "... ..." # string, I have this
graph_svg = convert_dot_to_svg(graph_dot)
# i need something like convert_dot_to_svg()
:
내가 좋아하는 뭔가를해야합니다. 누구든지 내가 할 수있는 웹 API를 알고 있다면, 그렇게 할 것이다.
미리 감사드립니다.
나는 pydot을 사용한 적이 없으니까 (하지만 나는 Graphviz를 알고있다.) 그러나 pydot 문서를 간략하게 살펴보면 파일 대신 파일과 유사한 객체를 사용할 수 있다는 것을 알 수있다. 따라서 표준 [io] (https://docs.python.org/3/library/io.html) 모듈에서 StringIO 또는 BytesIO를 시도해야합니다. –
@ PM2Ring 당신은 입력을하기 위해'io'를 사용할 수 있습니다. 하지만'write_svg' 함수를 어떻게 대체할까요? –
@ PM2Ring 언급 한 바와 같이 질문은 pydot 자체에만 국한되지 않습니다. Graphviz에서 도트 문자열에 해당하는 svg 문자열을 가져 오는 방법을 알려주시겠습니까? 어떤 방법 으로든 괜찮습니다. –