あすなろとのダブルポストです。
仕事で使ってみたところ、とても簡単にそしてかっこいいグラフが表示できたので紹介します。配置ディレクトリがRoR前提になっていますが、適宜自分の環境に合うように変更してください。
enjoy! ;)
GNU General Public Licenseで公開されています。
http://teethgrinder.co.uk/open-flash-chart/index.php
GoogleFinanceのようなかっちょいいグラフをFlashで表示(下記はキャプチャ画像)
http://finance.google.com/finance?q=google
ダウンロードして適当なところに解凍します。
http://teethgrinder.co.uk/open-flash-chart/download.php
解凍したディレクトリ直下のopen-flash-chart.swfと、js/swfobject.jsの2つを下記にコピーします
- public/open-flash-chart.swf
- public/javascripts/swfobject.js
1 <% stats[:posts] = [23,44,35,46,78,7] %>
2
3 <%= javascript_include_tag 'swfobject' %>
4 <div id="chart"></div>
5 <script type="text/javascript">
6 var so = new SWFObject("/open-flash-chart.swf", "ofc", "180", "100", "9", "#FFFFFF");
7 so.addVariable("variables","true");
8 so.addVariable("y_label_style", 'none');
9 so.addVariable("x_label_style", "10,#799191,0,2"); //2は2メモリごとにラベル表示の意。
10 so.addVariable("x_axis_steps","1"); //メモリ軸
11 so.addVariable("y_ticks","5,10,2");
12 so.addVariable("y_min","<%= stats[:posts].min %>"); //最小値
13 so.addVariable("y_max","<%= stats[:posts].max %>"); //最大値
14 so.addVariable("x_labels","Mon,Tue,Wed,Thurs,Fri,Sat,Sun"); //x軸ラベル
15 so.addVariable("values", "<%= stats[:posts].join(',') %>"); //値
16 so.addVariable("line_hollow", "3,#799191,This week,10,5"); //グラフの種類
17 so.addVariable("bg_colour", "#F0F0F0");
18 so.addVariable("x_axis_colour", "#FFFFFF");
19 so.addVariable("x_grid_colour", "#FFFFFF");
20 so.addVariable("y_axis_colour", "#FFFFFF");
21 so.addVariable("y_grid_colour", "#FFFFFF");
22 so.addVariable("tool_tip","#x_label#:#val#");
23
24 so.addParam("allowScriptAccess", "sameDomain");
25 so.write("chart");
26 </script>