- 浏览: 243916 次
文章分类
最新评论
-
bluky999:
中间的兼职例子很逗 哈哈哈
tornado: web.py 之 Application -
flingfox63:
学习了,详细,赞个
Ruby变量作用域的类目录结构 -
zhou6711411:
不知是版本问题还是怎么的
class A
...
Ruby变量作用域的类目录结构 -
t284299773:
你在方法中定义方法就相当于在方法中调用lambda!
Ruby变量作用域的类目录结构(补二) -
lnj888:
很是有用 不错Powerpoint converter
一个简单的link_to,ROR到底在背后做了些什么?(未完)
原文出处:http://www.railsontherun.com/2007/10/4/sexy-charts-in-less-than-5-minutes
我们的目标是使用rails制作和显示类似于下面图表:
在rails中同样可以使用gurff或者jfreeChart,但是Gruff需要Rmagick来生成静态图片,假如你的图片是经常变化的,那么这个过程会非常痛苦,JFreeChart需要java,所以,我看我们还是寻找其他方法来解决这个问题吧。
什么方法?当然是flash。
我们使用xml/swf库来提供我们需要的功能,当然我们不需要懂得action script,因为已经有人为我们做好了插件-amCharts.
注意,amCharts不是开源的,甚至是需要收费的,价格大概是85欧一个站点(我靠,其实很贵啊)。当然,也有免费的版本,只不过所有图片的链接都会指向amcharts.com。
下载安装包:http://www.amcharts.com/column/download/
解压到public目录下,查看解压后的目录中是否包含.swf,xml文件和fonts目录。
使用:当在程序中被load之后,amCharts等待一个数据流,并将数据流解析和显示成为一个chart。可以静态或者动态的改变xml文件来配置amCharts的工作方式。
需要说明的是,amCharts接受的数据流实际上是一个xml文件,xml文件可以从action中得到
- def population
- @cities = City.find(:all)
- @population_data_link = formatted_population_reports_url(:xml)
- respond_to do |format|
- format.html
- format.xml { render :action => "population.xml.builder", :layout => false }
- end
- end
正如我们看到的,数据流中包含两个数据:cities和population_data_link。populuation_data_link如何得到的?简单,一个路由而已。
- map.resources :reports, :collection => {:population => :get}
为了确保客户端安装flash,我们需要在视图中加入以下语句
- <%= javascript_include_tag 'swfobject' %>
现在我们要建立两个视图模板:population.html.erb和population.xml.builder
分别来看两个视图模板的内容。
population.html.erb
- <div id="population_chart" class='chart'>
- <strong>Text displayed when the user doesn't have Flash. You might want to display a simple table with the population, search engines and visitor without flash would love that.</strong>
- <p> To see this page properly, you need to upgrade your Flash Player, please visit the Adobe web site</p>
- </div>
- <script type="text/javascript">
- // <![CDATA[
- var so = new SWFObject("/amcolumn/amcolumn.swf", "population_chart", "800", "380", "8", "#000000");
- so.addVariable("path", "/amcolumn/");
- so.addVariable("settings_file", escape("/amcolumn/column_settings.xml"));
- so.addVariable("data_file", escape("<%= @population_data_link %>"));
- so.addVariable("additional_chart_settings", "<settings><labels><label><x>250</x><y>25</y><text_size>18</text_size><text><![CDATA[<b>California Population as of <%= Time.now.to_s(:db) %></b>]]></text></label></labels></settings>");
- so.addVariable("preloader_color", "#000000");
- so.write("population_chart");
- // ]]>
- </script>
可以看到,基本上都是一些简单的js片段。
因为我将amChart column lib解压到public/amcolumn目录下,所以我设置path为"/amcolumn/"
同样,配置文件为"/amcolumn/column_setting.xml",最重要的是要显示的数据data_file,我们需要显示@population_data_links,最后是一些额外的设置。
ok,这就是erb文件,下面看看xml.builder
- xml.instruct! :xml, :version=>"1.0", :encoding=>"UTF-8"
- xml.chart do
- # xml.message "You can broadcast any message to chart from data XML file", :bg_color => "#FFFFFF", :text_color => "#000000"
- xml.series do
- @cities.each_with_index do |city, index|
- xml.value city.name, :xid => index
- end
- end
- xml.graphs do
- #the gid is used in the settings file to set different settings just for this graph
- xml.graph :gid => 'population' do
- @cities.each_with_index do |city, index|
- population = city.population
- case population
- # When the population is > 1 million, show the bar in red/pink
- when > 100000
- xml.value value, :xid => index, :color => "#ff43a8", :gradient_fill_colors => "#960040,#ff43a8", :description => level
- else
- xml.value value, :xid => index, :color => "#00C3C6", :gradient_fill_colors => "#009c9d,#00C3C6", :description => level
- end
- end
- end
- end
- end
发表评论
-
(ZZ)Ror on svn
2007-12-20 19:34 1510正好需要,zz过来,抄袭自:http://www.surui. ... -
用GetText来进行ROR的国际化和本地化
2007-11-22 15:17 1440IBM developerWorks上的一篇文章,直接贴地址, ... -
advanced act_as_solr
2007-10-31 19:40 1784原文出处:http://www.quarkruby.com/2 ... -
act_as_solr
2007-10-31 19:39 1981原文出处:http://www.quarkruby.com/2 ... -
Ambition
2007-10-31 19:36 1360原文出处:http://railsontherun.com/2 ... -
使用Inkscape提供自己的pdf服务
2007-10-31 19:34 1538原文出处:http://www.thesatya.com/bl ... -
给will_paginate加上ajax效果
2007-10-31 19:30 2149原文出处:http://railsontherun.com/2 ... -
如果定制attachment_fu上传文件的路径和文件名
2007-10-31 16:59 2742原文出处:http://the.railsi.st/2007/ ... -
attachment_fu使用指南
2007-10-31 16:56 3197原文出处:http://clarkware.com/cgi/b ... -
(ZZ)Cache in Rails
2007-09-25 15:49 1511很经典的文章,留在blog里面做个收藏 Ruby on Rai ... -
(ZZ)Ruby on Rails Security Guide
2007-09-24 21:28 2674Ruby on Rails Security Gui ... -
学到三招
2007-09-24 01:54 1389第一招:用ruby-debug来调试rails程序 具体使用方 ... -
一个action的process过程
2007-09-17 00:11 2547ruby 代码 def process(req ... -
在线查看rails代码和edge rails api的网址,备份,以免忘记
2007-09-14 18:38 1324Edge Rails API: http://caboo.se ... -
总是看到returning,这到底是个什么东东,查了一下找到了源代码
2007-09-14 18:37 1377A Ruby-ized realization of the ... -
一个简单的link_to,ROR到底在背后做了些什么?(未完)
2007-09-14 18:20 3454滥用link_to会造成ror程序 ... -
学到关于include的一点儿知识
2007-08-23 18:09 1158ruby 代码 module Test ... -
在一个controller中render另外一个controller中view的时候出现问题
2007-08-21 18:27 2152我想在posts这个controller中的show.rh ... -
因为Rjs试用NetBeans
2007-06-20 09:44 1124因为昨天看Rails Recipe的时候提到了rjs,于是四处 ...
相关推荐
我正在阅读Rails引擎,并决定通过制作宝石来测试我的新知识。 由于我之前的项目涉及制作多个图表,因此我了解仅针对不同的图表在javascript和ruby中具有重复的数据结构和功能的痛苦。 图表是我的解决方案,用于将...
总的来说,FusionCharts Free是一个强大的工具,它将复杂的图表制作过程简化,让开发者无需深入了解Flash编程就能轻松创建专业级别的交互式图表。这使得它成为网站和应用程序中数据呈现的理想选择,尤其适合需要动态...
3. **数据处理**:Rails应用通常使用ActiveRecord与数据库进行交互。你可以在控制器中查询数据,然后将其传递给视图。D3可以接收这些数据并根据其内容创建或更新可视化。 4. **响应式设计**:为了确保在不同设备上...
FusionCharts是一个闪光的图表组件,它可以用来制作数据动画图表,其中动画效果用的是Adobe Flash 8 (原Macromedia Flash的)制作的flash , FusionCharts可用于任何网页的脚本语言类似于HTML , .NET,ASP , ...
Fusioncharts XT V3.2.2版教程是一个针对最新Fusioncharts产品的详细指南,它不仅提供了安装和使用的基础知识,还包括了如何利用各种功能来增强数据可视化效果,帮助开发者和设计师制作出既美观又实用的图表。...
例如,可以使用`ChartPanel`组件将多个图表添加到一个Swing界面中,或者使用`CategoryPlot`的多视图功能在一个图表中显示多种类型的数据。 通过上述方法,可以在Java应用程序中创建和整合多种类型的图表,形成丰富...
Fusioncharts V3.2.2 是一款先进的图表制作工具,专为现代网站和企业应用程序设计,旨在帮助用户创建交互性强、视觉效果出众的图表。该版本是业界领先的企业级图表组件之一,能够实现在PC、Mac、iPad、iPhone以及...
使用高级DSL和一个ruby文件为任何ActiveRecord类或Array创建一个。 强大的服务器端搜索,排序和筛选ActiveRecord类(具有belongs_to和has_many关系)。 通过搜索sql列以及ActiveRecord和Array集合中的计算值来做...
本书详细介绍了如何使用Ruby和Rails来生成各种类型的报表,包括但不限于销售报告、财务报表、客户行为分析等。 #### 数据可视化 数据可视化是将数据转换为图形或图像的过程,以揭示隐藏在数字背后的信息。本书讲解...
FusionCharts Suite XT是一款功能全面、易于使用且高度可定制化的图表制作工具。它不仅能够满足开发者和技术团队的需求,还能够适应不同行业的具体应用情境。无论是构建复杂的企业级仪表板,还是为网站和应用程序...
- **图形例子**:预先制作的图表例子保存在 `FusionChartsFree/Gallery` 文件夹。 - **文档**:位于 `FusionChartsFree/Contents` 文件夹。 #### 四、安装步骤 1. **创建文件夹**:在 Web 应用的根目录下新建一个...
语言环境(在 Safari 上更好) ###我... 首先,使用 URL :howarda9/locale.git 克隆项目,运行 rake db:create ###系统依赖在这个项目的制作中使用了以下技术/库。 Ruby on Rails Angular.js 下划线.js D3.js jQuery
作为一个使用技术制作数码产品的团队, 这是必须要明确的有关技术/工具,我们使用, 让每个人都清楚我们都需要学习/使用什么制造功能齐全、快速、美观、可用和可靠的产品! 如果有任何不清楚或您有任何疑问,请。 ...
附件内含本人测试过的代码。绝对是不可多得统计报表...FusionCharts是一个Flash的图表组件,是制作统计报表,图像报表的最牛选择。 基于Flash技术的产品,都非常的漂亮,内置20套左右的Flash统计图。 效果查看如下: ...
我们的webapp由Ruby on Rails制作,并托管在Heroku上。 我们的webapp的目标是为宇宙提供丰富而新颖的外观。 图表中的恒星大小随表观大小而变化,这是恒星在没有大气层的情况下在地球上所具有的亮度的量度。 每颗...
《JFreeChart制作图形报表》 本文将详细介绍如何使用JFreeChart库创建图形报表,以满足特定的需求。首先,我们从需求分析开始。 在我们的示例中,需求源于一个有趣的场景:通过量化日常感情生活,为决策提供数据...