[python] graph visualization
graph
networkx
anaconda에 포함되어 있음. 사용법도 간단하지만 룩이 구리고 pure-python implementation이라 속도가 굉장히 느리다.- graphviz
논문에 나올법한 상당히 구식 룩이나 쓰기 편함. 활용도가 높음.
사용하기 위해서는 graphviz라는 프로그램 자체와 이를 python과 연결해주는 라이브러리 둘 다 설치해야 한다.
* graphviz 설치하고 bin폴더 환경변수에 등록해주어야 함.
라이브러리로는 ``py graphviz, pygraphviz, graphviz-python``이 있는데 그냥 ``py graphviz``가 제일 무난하고 대중적인 듯.
그리고 이거 사용할 때 아주 주의해야 할 것이 ``py ":"``가 node나 edge에 들어가 있으면 그 앞까지만 읽어버리기 때문에 이상하게 동작한다. 이런 류의 에러는 디버깅하다보면 정말 화가난다... 그래서 ``py ":"``는 노드나 엣지에 입력하는 문자열에 포함시키지 않는 것이 좋다. - graph-tool
속도 면에서 제일 나은 것 같은데 windows에서 사용할 수 없다. - igraph
implementated in C. networkx를 사용하느니 속도 면에서나, 기능 면에서나 이게 더 나은 것 같다.
visualization
그래프 만들어서 그리는건 위 라이브러리를 이용하고
그린 그래프를 띄워주는 인터페이스로 주로 matplotlib.pyplot을 사용하는데 이러면 못생겼다. 단순 2차원에 hover effect도 없고...
- matplotlib.pyplot
- Plotly
- seaborn
- Bokeh
- Vincent
- Vega
Lightning
toyplot
bqplot
3D
- Mayavi #VTK 기반
- Vispy #OpenGL 기반
'Languages & Frameworks > Python' 카테고리의 다른 글
[python] threading, multiprocessing, GIL, concurrent.futures.ThreadPoolExecutor (0) | 2017.08.25 |
---|---|
[python] plotly (0) | 2017.07.19 |
[python] subprocess, Popen (1) | 2017.07.03 |
[python] with / try-except (0) | 2017.07.02 |
[python] directory parse / glob / pathlib (0) | 2017.07.02 |