블로그 이미지
JEEN

서울에 사는 꽃청년의 IT찌질모험기

Rss feed Tistory
IT/Perl 2009.04.16 17:44

[ Perl / GraphViz ] 오덕분포도(?) 만들기

 
  aero 님께서 소개하신 "UML::Class::Simple 모듈로 그려보는 클래스 상속도" 가 대표적인 GraphViz 구현입니다. UML:Class::Simple 은 Graphviz 의 레이아웃을 Template 으로 출력을 하는 구조였었죠. 마침 개인적으로 쓸일도 있고 해서 잠깐 찾아보니까 Leon Brocard의 GraphViz 모듈이 있더군요.

 - http://search.cpan.org/perldoc?GraphViz

 물론 이 Graphviz를 사용하기 위해서는 Graphviz 를 설치해야합니다. ;;
$ sudo aptitude install graphviz

  Mac 에서는 port 를 사용해서 설치할 수 있지만... 이상하게 Mac 에서는 GraphViz 모듈이 잘 동작하지 않았습니다.

dyld: lazy symbol binding failed: Symbol not found: _pixman_image_create_bits
  Referenced from: /usr/local/lib/graphviz/libgvplugin_pango.5.dylib
  Expected in: flat namespace

dyld: Symbol not found: _pixman_image_create_bits
  Referenced from: /usr/local/lib/graphviz/libgvplugin_pango.5.dylib
  Expected in: flat namespace

대략 이런 에러를 뿌리면서 png 를 생성하지 못하더군요. 그래서 그냥 Ubuntu 에서만 하기로 했습니다.
Mac 에서 위와 같은 에러가 발생할 시에는 GraphViz 를 최신버젼으로 다시 깔아줍니다.

- http://graphviz.org/pub/graphviz/stable/macos/leopard/graphviz-2.22.2.pkg

그리고 예제는 적절하게 검색하니까 등장했습니다.
 
 - http://d.hatena.ne.jp/ksmemo/20071012/p1
 
 이 예제의 텍스트만 살짝 바꾼 게 위의 <오덕분포도>입니다. ;; 

 이 Graphviz 를 이용해서

* Unix Family Tree

 이런 것도 만들 수 있습니다. 좀 많이 복잡하지만...
 아무튼 텍스트의 무미건조함을 GraphViz 로 덜어보는 것은 어떨런지요. 

** 위 그림의 닉은 모두 가상의 인물입니다.

신고
TOTAL 488,011 TODAY 41

티스토리 툴바