Recent Posts
Recent Comments
04-20 17:08
관리 메뉴

동글동글 라이프

차트를 만들어 보자. [ SWF::Chart ] 본문

개발자 이야기/Perl

차트를 만들어 보자. [ SWF::Chart ]

동글동글라이프 2009. 4. 22. 20:18




로그파일을 분석할 때 가끔 차트가 필요 할 때가 있는데...

JEEN님이 내놓은 떡밥이라 포스팅을...

flash로 만든 오픈소스중 XML/SWF Chart 라는 프로그램이 있는데

xml로 데이터만 가공하면 이 자료를 바탕으로 차트를 생성해 준다.



디자인도 이쁘고 노력만 조금 들이면 움직이는 차트도 만들수 있어 많은곳에 두루 사용될듯한 이 차트는

CPAN에 등록되어 있다.

SWF::Chart

Perl interface to the SWF Chart generation tool
SWF-Chart-1.4 - 11 Jul 2006 - Garth Winter Webb 

아쉬운것은 2006 7월 11일을 마지막으로 더이상 업데이트가 이루어지지 않았으며,

XMLSWF-Charts는 지속적으로 업데이트가 되었다는 사실...

CPAN을 통하여 SWF::Chart를 설치한 뒤

SYNOPSIS 를 실행시키면 xml 형식으로 출력이 가능하며 파일에 저장시켜 차트를 생성하면 된다.

  
  use SWF::Chart;
  my $g = SWF::Chart->new;
  $g->set_titles(qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec));
  # Add a single data set
  $g->add_dataset(1, 3, 5, 7, 2, 4, 6);
  # Add multiple datasets
  $g->add_dataset([qw(1 3 5 7 11 13 17 23 29 31 37 41)],
                  [qw(1 1 2 3 5 8 13 21 34 55 89 144)]);
  # Add multiple datasets with labels
  $g->add_dataset('Label 1' => \@set1,
                  'Label 2' => \@set2);  $g->text_properties(bold  => 0,
                      size  => 10,
                      color => '333333');

  $g->chart_rect(positive_color => '555555',
                 positive_alpha => 100);
  $g->series_color('DEADBE');

  print $g->xml;



위의 코드를 실행하여 출력된 값을 저장하여 차트를 생성하면 아래와 같은 차트가 생성된다.


 

사실 SWF::Chart는 모듈의 업데이트가 이루어지지 않아 

Chart의 세밀한 부분 처리하기가 쉽지 않았다.

만든 사람이 왜 더이상 업데이트를 하지 않는지.. 애착이 떨어진건가? -ㅁ-;

http://www.maani.us/xml_charts/index.php?menu=Reference 를 참고하여,

필요한 부분을 치환해가며 간단한 차트를 하나 만들어 보았다.



irc-log를 이용하여 누가 얼마나 이야기를 하였는지 체크해주는 차트인데

가장 많이 이야기 한사람에게는 색다른 표시를 해보았다.

동적으로 처리하기 위해 cgi로 date값을 입력받으면 그 값에 따라서 바로 통계를 내어주게끔

만들어 보았다.

http://honey.myemy.com/cgi-bin/chart.cgi?date=2009-04-22


모듈이 더이상 업데이트가 되지 않아

효과적으로 사용하기는 힘들겠지만

차트 자체는 지속적으로 업데이트 되고 있으며,

발전가능성도 많아 보인다.



필요한분들은 예쁘게 사용하세요  :)


'개발자 이야기 > Perl' 카테고리의 다른 글

Gtk2::Calendar  (1) 2009.09.01
[Tool] Cava Packager  (4) 2009.06.06
YASPS 발표자료  (0) 2009.03.24
ID 및 PASSWORD 인증 설정  (0) 2009.03.14
이미지를 입혀보자 (Gtk2::Rc)  (0) 2009.03.10
Comments