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 기반