ライトtpd下rails FusionChartsグラフ
Open_を使用してみますflash_chartとFusionChartsは、railsでも実現できます.
WebをWEBrickで起動し、XPプラットフォームでもcentosプラットフォームでも正常に動作します.
ただしcentosでlighttpdを起動するとopen_flash_chartは表示できません.FusionChartsが提供する2つの方法のうち、chart.setDataURLはlighttpd方式では成功せず、中国語もサポートされていない.
lighttpdを満たし、中国語のFusionChartsFreeのchartをサポートします.setDataXMLの実現方式は以下のようにまとめられており,理想的ではないのはXML文字列を自分で構築することである.
FusionChartsFreeのメリットはプラグインのインストールを行わないことです.関連書類をコピーすればいいです.
ちなみに、FusionChartsFreeの速度はFusionCharts v 3の解読版より速いことがわかりました.
ダウンロード:FusionChartsFree
アドレス:http://www.fusioncharts.com/Free/
FusionChartsはブラウザとプラットフォームにまたがるflashグラフコンポーネントであり、ASP.NET、ASP、PHP、JSP、ColdFusion、Ruby on Rails、簡単なHTMLページ、PPT呼び出しもあります.ほとんどの言語がサポートされています.
インストール:
解凍:FusionChartsFree.zip
1、自分のrailsプロジェクトプログラムのpublicディレクトリの下で1つのディレクトリを創立します:FusionCharts;
2、ディレクトリChartsの下のすべてのswfファイルを第1ステップで確立したディレクトリの下にコピーする.
3、JSClassの下のFusionChartsをjsファイル、railsプロジェクトのpublic/javascriptsにコピーします.
表構造:販売表markets
製品名:product_name string
販売量:product_sum integer
WebをWEBrickで起動し、XPプラットフォームでもcentosプラットフォームでも正常に動作します.
ただしcentosでlighttpdを起動するとopen_flash_chartは表示できません.FusionChartsが提供する2つの方法のうち、chart.setDataURLはlighttpd方式では成功せず、中国語もサポートされていない.
lighttpdを満たし、中国語のFusionChartsFreeのchartをサポートします.setDataXMLの実現方式は以下のようにまとめられており,理想的ではないのはXML文字列を自分で構築することである.
FusionChartsFreeのメリットはプラグインのインストールを行わないことです.関連書類をコピーすればいいです.
ちなみに、FusionChartsFreeの速度はFusionCharts v 3の解読版より速いことがわかりました.
ダウンロード:FusionChartsFree
アドレス:http://www.fusioncharts.com/Free/
FusionChartsはブラウザとプラットフォームにまたがるflashグラフコンポーネントであり、ASP.NET、ASP、PHP、JSP、ColdFusion、Ruby on Rails、簡単なHTMLページ、PPT呼び出しもあります.ほとんどの言語がサポートされています.
インストール:
解凍:FusionChartsFree.zip
1、自分のrailsプロジェクトプログラムのpublicディレクトリの下で1つのディレクトリを創立します:FusionCharts;
2、ディレクトリChartsの下のすべてのswfファイルを第1ステップで確立したディレクトリの下にコピーする.
3、JSClassの下のFusionChartsをjsファイル、railsプロジェクトのpublic/javascriptsにコピーします.
表構造:販売表markets
製品名:product_name string
販売量:product_sum integer
:
class ReportController < ApplicationController
def index # xml
my_market = Market.find(:all)
strXML =[]
strXML << "<graph caption=' ' xAxisName=' ' yAxisName=' ' showNames='1' decimalPrecision='0' formatNumberScale='0' BaseFontSize = '12'>"
my_market.each do |m|
strXML << "<set name='" + m.product_name + "' value='" + m.sum.to_s + "' />"
end
strXML << "</graph>"
@my_str = strXML.to_s
end
end
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html;charset=UTF-8" />
<title>Contact:<%= controller.action_name %></title>
<%= javascript_include_tag 'FusionCharts'%>
</head>
<body>
<div id="chartdiv" align="center"></div>
<script language="JavaScript" type="text/javascript">
var myChart = new FusionCharts("/FusionCharts/FCF_Bar2D.swf", "myChartId", "600","500" );
myChart.setDataXML("<%= @my_str %>")
myChart.render("chartdiv");</script>
</body>
</html>
FusionChartsの他のタイプのグラフのxmlフォーマットは、FusionChartsが解凍したIndexを参照してください.html説明.