浏览 324 次
|
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
|---|---|
| 作者 | 正文 |
|
时间:2008-08-08
尝试使用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说明。 声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |



