(python) graph visualization
graph
- networkxanaconda에 포함되어 있음. 사용법도 간단하지만 룩이 구리고 pure-python implementation이라 속도가 굉장히 느리다.
- graphviz 논문에 나올법한 상당히 구식 룩이나 쓰기 편함. 활용도가 높음. 사용하기 위해서는graphviz 라는 프로그램 자체와 이를 python과 연결해주는 라이브러리 둘 다 설치해야 한다. * graphviz 설치하고 bin폴더 환경변수에 등록해주어야 함. 라이브러리로는
graphviz, pygraphviz, graphviz-python
이 있는데 그냥graphviz
가 제일 무난하고 대중적인 듯. 그리고 이거 사용할 때아주 주의 해야 할 것이":"
가 node나 edge에 들어가 있으면 그 앞까지만 읽어버리기 때문에 이상하게 동작한다. 이런 류의 에러는 디버깅하다보면 정말 화가난다… 그래서":"
는 노드나 엣지에 입력하는 문자열에 포함시키지 않는 것이 좋다. - 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 기반
This post is licensed under CC BY 4.0 by the author.