Rails에서 Graph표현을 어떻게 해야 할까 고민중에,
한국 루비 사용자 포럼에서 다음의 모듈들을 확인 할 수 있었다.
http://geoffreygrosenbach.com/projects/show/5
1) 선행 작업 (RMagick 필요)
설치시에는 상관 없으나, Gruff을 통하여 위 그림처럼 표현을 하려면,
RMagick을 필요로 한다.
For Ubuntu )
$> apt-get install imagemagick
$> apt-get install libmagick9-dev$> gem install rmagick
2) 문제 발생
다음 로그처럼, ImageMagick Version 문제가 생김
/usr/bin/ruby1.8 extconf.rb install rmagick -include-dependencies
checking for Ruby version >= 1.8.2... yes
checking for Magick-config... yes
checking for ImageMagick version >= 6.3.0... no
Can't install RMagick 2.0.0. You must have ImageMagick 6.3.0 or later.
해결) gem update 말고, 수동 설치함
- ImageMagick 최신 버젼받기 [여기 링크]
- Install 하기 [여기 링크]
참고) 버전확인을 해보자
root:# convert -version
Version: ImageMagick 6.3.7 01/22/08 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2008 ImageMagick Studio LLC
3) Gruff Install 방법 (다음 중 택일)
$> gem install gruff
$> ./script/plugin install http://topfunky.net/svn/plugins/gruff
4) 테스트
임의의 Method에서 다음처럼 넣어보자
def Test
g = Gruff::Line.new
g.title = "My Graph"g.data("Apples", [1, 2, 3, 4, 4, 3])
g.data("Oranges", [4, 8, 7, 9, 8, 9])
g.data("Watermelon", [2, 3, 1, 5, 6, 8])
g.data("Peaches", [9, 9, 10, 8, 7, 9])g.labels = {0 => '2003', 2 => '2004', 4 => '2005'}
g.write('my_fruity_graph.png')
end
rails/ 폴더 아래에 "my_frity_graph.png"생김
이는 Gruff보다는 기능이 조금 빠진다.
<%= spark_tag [12, 22, 34, 42, 33],
:type => 'smooth',
:height => 15 %>
이외 Flexbilrails 라고 있다고 하는데 이는 일단 배제..;;