精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-08-08
用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说明。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-11-29
请问你的Y轴能显示吗? 我的Y轴不能显示
|
|
返回顶楼 | |
发表时间:2008-11-29
是Y轴的中文...
|
|
返回顶楼 | |
发表时间:2009-03-04
rotateYAxisName='0' Y轴横着写就OK了
|
|
返回顶楼 | |
发表时间:2009-07-09
我都 想使用rails中的xml builder,用xml url不行啊。这个问题折磨人啊。搞了好久还是没有解决
|
|
返回顶楼 | |
发表时间:2009-07-13
为什么我用了之后总是提示“未结束的字符串常量”错误呢,而且看/FusionCharts/FCF_Bar2D.swf 里面也是“Error in Loading Data”?
|
|
返回顶楼 | |
发表时间:2009-07-13
在生成的xml字符串中要使用单引号才行的。
|
|
返回顶楼 | |
发表时间:2009-07-13
是啊 我是照上面写的啊,controller是这样的:
strXML << "<graph caption='show' xAxisName='subjects' yAxisName='num' showNames='1' decimalPrecision='0' formatNumberScale='0' BaseFontSize = '12'>" @results_charts.each do |m| strXML << "<set name='" + m.subject_name + "' value='" + m.nstl.to_s + "' />" end strXML << "</graph>" session[:my_str] = strXML.to_s 然后页面是这样的: <div id="chartdiv" align="center"> <script language="JavaScript" type="text/javascript"> var myChart = new FusionCharts("/FusionCharts/FCF_Bar2D.swf", "myChartId", "600","500" ); myChart.setDataURL("<%= session[:my_str] %>") myChart.render("chartdiv");</script> </div> 可是还是提示出错啊,还是说“未结束的字符串常量” |
|
返回顶楼 | |
发表时间:2009-07-13
非常非常汗!原来我忘加了“;”了,不提示了,但是还是不能显示,错误为“Error in Loading Data”,难道要安装flash?大侠们你们都装了吗?不装不行吗?
|
|
返回顶楼 | |
发表时间:2009-07-13
咦,教程里不是说如果有中文的话用setDataXML不行吗,要换成setDataURL吗?我用setDataURL不好用,用setDataXML反倒好用了,怪哉,怪哉!
|
|
返回顶楼 | |