`
dearsuper
  • 浏览: 67239 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
最近访客 更多访客>>
社区版块
存档分类
最新评论

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说明。
分享到:
评论
12 楼 qichunren 2009-07-13  
vickyxr 写道
咦,教程里不是说如果有中文的话用setDataXML不行吗,要换成setDataURL吗?我用setDataURL不好用,用setDataXML反倒好用了,怪哉,怪哉!


你完全说反了。
11 楼 qichunren 2009-07-13  
vickyxr 写道
非常非常汗!原来我忘加了“;”了,不提示了,但是还是不能显示,错误为“Error in Loading Data”,难道要安装flash?大侠们你们都装了吗?不装不行吗?


你真是汗,你在Error in Loading Data上点鼠标右键,看有没有flash菜单出来呗。其实不用试,是有的。

另外你问得也非常汗,当然要装flash啦,如果你没有装flash,我只能代表火星圈子围观你了。
10 楼 vickyxr 2009-07-13  
大侠们,为啥这个图是横着的呀?
9 楼 vickyxr 2009-07-13  
咦,教程里不是说如果有中文的话用setDataXML不行吗,要换成setDataURL吗?我用setDataURL不好用,用setDataXML反倒好用了,怪哉,怪哉!
8 楼 vickyxr 2009-07-13  
非常非常汗!原来我忘加了“;”了,不提示了,但是还是不能显示,错误为“Error in Loading Data”,难道要安装flash?大侠们你们都装了吗?不装不行吗?
7 楼 vickyxr 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>

可是还是提示出错啊,还是说“未结束的字符串常量”
6 楼 qichunren 2009-07-13  
在生成的xml字符串中要使用单引号才行的。
5 楼 vickyxr 2009-07-13  
为什么我用了之后总是提示“未结束的字符串常量”错误呢,而且看/FusionCharts/FCF_Bar2D.swf  里面也是“Error in Loading Data”?
4 楼 qichunren 2009-07-09  
我都 想使用rails中的xml builder,用xml url不行啊。这个问题折磨人啊。搞了好久还是没有解决
3 楼 mrdangdong 2009-03-04  
rotateYAxisName='0' Y轴横着写就OK了
2 楼 supertan 2008-11-29  
是Y轴的中文...
1 楼 supertan 2008-11-29  
请问你的Y轴能显示吗? 我的Y轴不能显示

相关推荐

    用于ROR应用的lighttpd配置模板

    "用于ROR应用的lighttpd配置模板"提供了一个预设的配置,帮助开发者快速配置lighttpd以支持Rails环境。 Lighttpd以其低内存占用和高并发能力而受到欢迎,它支持FastCGI,这是与Rails应用进行通信的常见接口。...

    lighttpd-1.4.45_lighttpd服务器_

    lighttpd,这个名字在Web服务器领域中或许不如Apache或Nginx那样耳熟能详,但其独特的轻量级特性和高效性能,使得它在特定场景下成为理想的解决方案。lighttpd-1.4.45是lighttpd服务器的一个重要版本,它以其小巧、...

    搭建lighttpd+cgi的代码包

    在Web服务器的根目录下创建一个CGI脚本,例如`hello.cgi`。这个脚本需要遵循CGI规范,设置正确的MIME类型和HTTP状态码。例如,一个简单的Perl CGI脚本可能如下: ```perl #!/usr/bin/perl print "Content-type: ...

    lighttpd配置和启动脚本

    Lighttpd是一款轻量级的Web服务器,常用于小型或者负载较低的网站,因其低内存占用和高效的性能而受到喜爱。在本压缩包中,我们重点关注`lighttpd.conf`配置文件以及用于控制Web服务器启动和停止的脚本。下面我们将...

    Ruby on Rails安装包全集(Linux)

    在Linux环境下安装Ruby on Rails需要一系列的依赖包和步骤,本资源包提供了所需的所有组件,帮助用户在Linux系统上顺利构建RoR开发环境。 1. **readline-5.1.tar.gz**: 这是Readline库的源代码包,它提供了一种交互...

    最新lighttpd源码 lighttpd-1.4.22

    Lighttpd是一个德国人领导的开源软件,其根本的目的是提供一个专门针对高性能网站,安全、快速、兼容性好并且灵活的web server环境。具有非常低的内存开销,cpu占用率低,效能好,以及丰富的模块等特点。lighttpd是...

    lighttpd 安装配置

    pcre(Perl Compatible Regular Expressions)库提供了与Perl相容的正则表达式功能,这对于Lighttpd来说非常重要,尤其是在进行复杂配置如虚拟主机管理和Rails应用支持时。虽然Lighttpd在没有pcre的情况下也能运行,...

    ubuntu lighttpd实现websocket

    如何在ubuntu上实现lighttpd 1、下载mongoose使用mongoose中的example中的websocket_chat,实现websocket 2、websocket_chat源码下载路径 官网:https://cesanta.com 论坛:...

    ARM平台lighttpd服务器

    尽管lighttpd可能不如Apache或Nginx那样功能全面,但它的轻量级特性使其在特定场景下更具优势。 总之,ARM平台上的lighttpd服务器为开发者提供了快速、低资源消耗的Web服务解决方案。通过适当的配置和管理,...

    lighttpd代码阅读资料

    《lighttpd代码阅读资料详解》 lighttpd是一款轻量级且高效的Web服务器软件,以其低内存占用、快速响应和模块化的结构而备受开发者喜爱。对于想要深入了解lighttpd内部工作原理或进行二次开发的程序员来说,代码...

    lighttpd with H264 support

    遗憾的是,lighttpd在默认配置下并不直接支持H264编码的MP4视频流以及快进等高级播放功能。因此,我们需要对lighttpd进行特定的配置和补丁应用,以实现这些功能。 首先,我们要理解H264编码的重要性。H264,也称为...

    lighttpd-1.4.20源代码

    《lighttpd-1.4.20源代码解析与技术深度探讨》 lighttpd是一款轻量级的Web服务器,其设计目标是低系统资源消耗、高效且安全的运行环境,尤其适合于动态内容不多的网站。在lighttpd-1.4.20版本中,我们有机会深入...

    varnish+lighttpd配置

    Varnish和Lighttpd是两个非常重要的开源Web服务器软件,它们在Web性能优化和负载均衡方面发挥着关键作用。Varnish作为一个高性能的HTTP缓存代理,常用于减轻后端服务器的压力,提高网站响应速度;而Lighttpd则是一款...

    lighttpd-1.4.20-cmake

    lighttpd是一款开源的、高性能的Web服务器,它设计的目标是低系统资源占用,快速响应,并且在高并发环境下仍然保持稳定。lighttpd 1.4.20是其历史上的一个重要版本,提供了丰富的模块支持和优化特性。 **CMake简介*...

    lighttpd-1.4.30.tar.gz

    lighttpd的日志默认保存在`/var/log/lighttpd/`目录下,通过分析这些日志文件,可以快速定位和解决运行过程中遇到的问题。 9. **模块化设计** lighttpd支持模块化扩展,可以根据需求选择安装和启用不同的模块,如...

    Lighttpd源码分析

    Lighttpd是一个轻量级的Web服务器,它在性能和资源使用上表现出色,被广泛应用于需要高性能、低资源占用的场景中。对于从事网络编程和服务器开发的专业人士来说,源码分析是一个深入了解和优化服务器行为、提升性能...

    Lighttpd源码分析_mobi

    主要内容包括:lighttpd介绍与分析准备工作、lighttpd网络服务主模型、lighttpd数据结构、伸展树、日志系统、文件状态缓存器、配置信息加载、i/o多路复用技术模型、插件链、网络请求服务响应流程、请求响应数据快速...

    Lighttpd By Andre Bogus

    ### Lighttpd Web Server: A Comprehensive Guide by Andre Bogus #### Introduction The book titled "Lighttpd" by Andre Bogus is a comprehensive guide designed to provide readers with an in-depth ...

    lighttpd restfulapi cgi

    【标题】"lighttpd RESTful API与CGI的整合" 在Web开发中,轻量级HTTP服务器(如lighttpd)因其高效、低资源占用而受到青睐,尤其适合小型和中型项目。RESTful API设计模式是现代Web服务的重要组成部分,它允许通过...

Global site tag (gtag.js) - Google Analytics