lighttpd下rails FusionCharts图表

尝试使用open_flash_chart和FusionCharts,在rails中都可以实现。
用WEBrick启动web,不管在XP平台还是centos平台下,都运行正常。
但如果在centos启动lighttpd,open_flash_chart不能显示。而FusionCharts所提供的两种方法中,chart.setDataURL在lighttpd方式下不成功,并且该方式也不支持中文。

遂将满足lighttpd,并且支持中文的FusionChartsFree的chart.setDataXML实现方式总结如下,不理想的就是要自己构造XML字符串。
FusionChartsFree的好处就是不要进行插件的安装。拷贝相关的文件就可以了。
顺带提一句,发现:FusionChartsFree的速度比FusionCharts v3破解版速度快。


下载:FusionChartsFree
地址:http://www.fusioncharts.com/Free/
FusionCharts 是一个跨浏览器和跨平台的flash图表组件,能够被 ASP.NET, ASP, PHP, JSP, ColdFusion, Ruby on Rails, 简单 HTML 页面 甚至PPT调用. 几乎所有你知道的语言它都支持。

安装:
解压:FusionChartsFree.zip
1、在自己的rails项目程序的public目录下建立一个目录: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说明。

你可能感兴趣的:(centos,Flash,lighttpd,asp.net,Rails)