파이썬으로 인코딩 된 에지로 연결된 노드 시퀀스를 시각화합니다.파이썬에서 그래프 렌더링 (플로우 차트 시각화)
이러한 그래프 데이터를 시각화하기위한 파이썬 라이브러리를 찾고 있습니다.
중 파이썬 또는 파이썬 바인딩로 작성된 라이브러리는
(내가 Visustin의 알고 있지만, 대안을 찾고)
파이썬으로 인코딩 된 에지로 연결된 노드 시퀀스를 시각화합니다.파이썬에서 그래프 렌더링 (플로우 차트 시각화)
이러한 그래프 데이터를 시각화하기위한 파이썬 라이브러리를 찾고 있습니다.
중 파이썬 또는 파이썬 바인딩로 작성된 라이브러리는
(내가 Visustin의 알고 있지만, 대안을 찾고)
Graphviz 내 생각에 가장 좋은 방법입니다 괜찮습니다.
Graphviz은 초연 그래프 렌더링/레이아웃 라이브러리입니다. 성숙하고 안정적이며 오픈 소스이며 무료입니다. 전용 플로우 챠트 나 다이어그램 패키지는 아니지만 핵심 사용 케이스 - 노드와 모서리로 구성된 객체의 효율적이고 심미적 인 렌더링 -은 분명히 플로우 차트를 포함합니다 - 특히 API가 사용자가 다양한 제약 조건을 설정할 수 있기 때문에 레이아웃에서 다양한 형식의 렌더링을 장려하십시오. 예를 들어 동일한 레벨의 모든 노드 (루트와 동일한 부모 수)가 단일 중앙 정렬 행에 렌더링되도록 할 수 있습니다.
Graphviz은 파이썬 라이브러리가 아닙니다 (C 언어로 작성되었습니다). 그러나 고품질 파이썬 바인딩을 사용할 수 있습니다.
내가 가장 익숙한 python-Graphviz 라이브러리는 pygraphviz이며 매우 우수합니다.
나머지 두 개는 pydot 및 yapgvb입니다. 나는이 두 가지를 적어도 몇 번 사용했다. 각각은 pygraphviz보다 작습니다 (유스 케이스에 따라 이점이 될 수 있음). 또한 pygraphviz뿐만 아니라 둘 다 문서화되어 있습니다.
다행스럽게도, 이러한 파이썬 라이브러리의 세 얇은 래퍼는 graphviz를는 이상, 그래서 아무도는 가볍고 우아한 graphviz를 구문을 은폐하지합니다 (점 언어).
가 여기에 아래의 작은 "플로우 차트"를 만드는 데 사용 (은 GraphVIZ에서 '점 언어) 코드입니다 : 더그처럼
digraph {
node [ fill=cornflowerblue,
fontcolor=white,
shape=diamond,
style=filled];
Step1 [ color=darkgoldenrod2,
fontcolor=navy,
label=start,
shape=box];
Step2;
Step3a [ style=filled,
fillcolor=grey80,
color=grey80,
shape=circle,
fontcolor=navy];
Step1 -> Step2;
Step1 -> Step2a;
Step2a -> Step3a;
Step3;
Step3a -> Step3;
Step3a -> Step2b;
Step2 -> Step2b;
Step2b -> Step3;
End [ shape=rectangle,
color=darkgoldenrod2,
fontcolor=navy];
Step3 -> End [label=193];
}
질문은 _automatic_ generator에 관한 것 같습니다. 죄송합니다. 본 적이 없지만 자동 흐름 차트 생성에 도움이되는 것은 무엇입니까? AFAIK 차트와 멋진 UML 요소는 솔루션을 다시 생각하고 코드 이외의 관점을 얻는 데 도움이되므로 내게 자동으로 적용하려면 발 안에 찍은 것이 좋습니다. –
, 나는 graphviz를 제안한다.
또한 매우 간단한 dot language으로 그래프를 직접 작성할 수도 있습니다 (Graphviz 또는 다른 도구로 그릴 수 있음). 이것은 모든 모듈에서 코드의 의존성없이 pydot를 사용하는 것보다 더 가벼운 대안입니다.
항상 미니멀리스트 솔루션의 팬 (도트 파일을 직접 생성), +1. – doug
gprof2dot.py
은 프로그램의 실행 흐름을 자동으로 프로파일 링하고 시각화 할 수 있습니다. ActiveState 코드에서 reciple 578138으로 확인할 수 있습니다. 프로그램 끝 부분의 배치 파일을 확인하십시오.
이 하나도 좋습니다 : http://flowchart.js.org –