`
xf986321
  • 浏览: 163936 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

swfchart

阅读更多

swfchart

简介

Swfchart能够让你很轻松的将maani.us的SWF/XML Chart绘图工具 集成到你的Rails应用中。

安装

首先你需要去maani.us下载SWF/XML Chart ,目前经过测试的版本是4.6版,然后将其解压缩到你的public目录下:

public
|-- charts.swf
`-- charts_library
    |-- arno.swf
    |-- arst.swf
    |...........
    `-- scno.swf

然后安装swfchart generator:

$ cd $RAILS_ROOT/vendor/plugins
$ svn co https://svn.elctech.com/svn/public/plugins/swfchart swfchart

使用

1. 生成文件

$ ./script/generate swfchart
create lib/swfchart_helper.rb
create app/controllers/swfcharts_controller.rb
create app/models/swfchart.rb
create test/unit/swfchart_test.rb
create test/functional/swfcharts_controller_test.rb

2. 添加路由,你需要在route.rb中为swfchart添加一条路由:

map.swfcharts 'swfcharts/:name', :controller => 'swfcharts', :action => 'show'

3. 修改environment.rb,在启动时加载swfchart_helper.rb:

require 'swfchart_helper.rb'

4. 在需要绘制图表的view中调用swf_chart helper:

<%= swf_chart {|c|
  c.data_source = swfcharts_url(:name => "sample_line")
  c.width = "400"
  c.height = "320"
} %>

这将会在你的view中绘制一个400×320的图标控件,下面对图表的各个属性进行说明:

  • data_source,图表的数据来源,根据第二步添加的路由,上面的例子生成的URL为/swfcharts/sample_line,这是swfchart内置的数据源,它将会渲染一个线型图。
  • width,图表控件的宽度
  • height,图表控件的高度
  • bg_color,图表的背景颜色,比如”000000″代表黑色
  • transparent,是否透明,true表示透明
  • license,SWF/XML Chart免费版只提供有限的功能,因此,如果你需要使用增强功能,最好购买一个License

5. 如果你想要构造自己的数据源,可以参考sample_line,它是swfchart model的一个class method:

def self.sample_line
  swf = Swfchart.new('sample swf', 'line')
  swf.data_array = []
  swf.data_array[0] = ['a', 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
  swf.data_array[2] = ['Region B', 1, 1, 2, 3, 4, 6, 8, 8, 5, 7, 9, 4, 8, 4 ]
  swf.data_array[1] = ['Region A', 53, 52, 52, 52, 50, 44, 43, 34, 32, 28, 25, 20, 15, 10]
  swf

end

Swfchart.new的第一个参数指明图表的名称,第二个参数是图表的类型,这里我们创建一个线性图,事实上还有第三个参数,它指名横轴坐标的显示间隔,默认为2。

data_array存储真正的数据源,第一列存储横轴的坐标,显示间隔为2意味着,横轴只会显示1,4,7,10,13这几个数值,后面各列是真正的数据,每列数据的第一个元素为这个数据的名称。

6. 就这么简单,当然如果你需要更复杂的控制,swfchart还提供以下属性可供修改:

  • axis_ticks
  • axis_value
  • chart_border
  • chart_grid_h
  • chart_grid_v
  • chart_pref
  • chart_rect
  • chart_transition
  • chart_value_text
  • chart_value
  • draw
  • legend_label
  • legend_rect
  • legend_transition
  • link
  • link_data
  • live_update
  • series_color
  • series_explode
  • series_gap
  • series_switch

关于这些属性的含义及用法请参看maani.us的相关文档 ,如果需要修改这些属性,则只需要将XML attributes转换为Ruby hash即可,比如:

swf.chart_rect = {'x'=>4, 'y'=>4, 'width'=>72, 'height'=>52, 'positive_color'=>"ffffff", 'negative_color'=>"ffffff", 'positive_alpha'=>100, 'negative_alpha'=>100}

将覆盖原有的chart_rect属性。

7. 最后给出上面的line chart截图,有一些难看:

chart.png

分享到:
评论

相关推荐

    Plugin swfchart

    "Plugin swfchart"是一个关于使用SWFChart插件创建图表的IT主题。SWFChart是一款流行的开源Flash图表库,它允许开发者通过简单的XML配置来生成各种动态、美观的图表,广泛应用于数据可视化和报告展示。 这篇博客...

    根据XML数据动态生成图表(SWF版本)

    动态生成图表首先需要一个图表库或工具,这里我们提及的是SWFChart,它是一个专门用于创建SWF图表的库。SWFChart允许开发者通过XML配置文件来定义图表的样式、数据以及行为。这样,即使在运行时,也可以轻松地更改...

    swiffchart

    这款软件由GlobFX公司开发,用户可以通过其官方网站&lt;https://www.globfx.com/products/swfchart/&gt;获取更多信息和资源。SwiffChart以其简单易用的界面和丰富的图表类型而受到用户的青睐,支持多种数据可视化方式,...

    生成饼图的flash

    对于PHP,我们可以利用开源库如“SWFChart”或“SWFObject”。它们允许开发者通过设置参数来创建自定义的饼图,包括颜色、标签、数据值等。通常,这九个参数可能包括: 1. 数据值:每个扇区所代表的数值,决定了...

    java源码资源手机游戏J2ME毕业设计

    java源码资源手机游戏J2ME毕业设计提取方式是百度网盘分享地址

    第5章 存储器管理(笔记整理)

    内容概要:本章节深入探讨了存储器管理和相关概念。首先介绍了存储器的多层次结构,涵盖了寄存器、主存和辅助存储的区别及其功能。接下来讨论了主存储器、寄存器的功能和角色,包括二者如何支持程序运行及数据处理。之后分析了高速缓存和磁盘缓存的运作机制及其优化计算机性能的方式。接着概述了程序的装入、链接、地址绑定、内存保护的技术细节。此外,文章还讲述了存储器管理的高级技巧如对换技术、覆盖技术和不同的分配方式,以及各种存储管理模式的具体实施方式,比如连续分配、分页、分段及段页组合。 适用人群:对操作系统内部工作原理有一定兴趣的计算机专业学生、技术人员及爱好者。 使用场景及目标:适用于课程学习和项目实践中,帮助理解和设计复杂的存储管理系统。通过本文的学习可以达到对操作系统底层存储管理的理解,掌握不同存储分配策略的选择标准和技术应用。 阅读建议:建议逐步阅读每个小节,重点关注各部分内容的实际应用场景及其背后的设计理念。同时,尝试绘制存储层次模型和不同管理策略的工作流程图,加深理解。

    gradle611all.zip.png

    gradle611all.zip.png

    onnxruntime-1.16.0-cp39-cp39-win_amd64.whl

    onnxruntime-1.16.0-cp39-cp39-win_amd64.whl

    C#ASP.NET大型商城系统源码带数据库文档数据库 SQL2008源码类型 WebForm

    ASP.NET大型商城系统源码带数据库文档 1.开发环境:vs2010 + slq2005/2008 2.首先在SQL2005建立一个空白数据库。 3.有VS2010 打开项目,直接调试,根据出现提示建立数据库。 4.第3点出现的页面的管理员用户和密码就是后期软件的登陆帐户和密码。 5.本系统有两套模版,在店铺管理 - 页面设置 这里做修改 6.如果觉得自己的系统是空数据库,想弄成和演示的一样,那就将doc/database下面的数据库直接还原就可以了。 7.还原后的数据库登陆帐户和密码分别是:admin888 admin888

    C#ASP.NET酒店管理系统源码(WPF)数据库 Access源码类型 WinForm

    ASP.NET酒店管理系统源码(WPF) 一、源码特点 采用WPF进行开发的酒店管理系统源码,界面相当美观,功能齐全 二、菜单功能 1、预订登记:可选择入住时间、离店时间、所在城市、证件类型,保存、删除、查询、返回 2、住宿结算:新增入住、保存、删除、查询、返回 3、今日盘点:查询、返回 4、查询统计: 5、房间管理:增加房间类型、删除类型、增加房间、删除房间、保存、返回 6、用户管理:增加用户、删除用户、保存、返回 7、系统配置:基本功能 8、显示当前系统时间等功能的实现

    资源quazip.dll

    资源quazip.dll

    C#汽车货运管理系统源码 货运公司车辆管理系统源码数据库 SQL2008源码类型 WinForm

    汽车货运管理系统源码 货运公司车辆管理系统源码 货运公司管理系统采用winform C# 技术开发,数据库Sqlserver2008R2,同时兼容Mysql。 更新日志: 1.修改新增数据异常。 2.增加安装部署工程。 包括如下功能模块: 一、输入功能: 该系统提供了对基本信息录入、车辆登记录入、车辆各项费用录入、驾驶员登记录入、车辆出回车录入、主卡分卡充值录入、加油登记录入,配件信息录入等的模式录入和表格界面录入。在出现从表信息录入时会出现表格界面的录入方式其录入方式同模式录入方式一样。录入信息时可能会出现相同的信息,为避免重复录入部分字段设置了辅助录入功能,您只需输入几项即可完成录入功能。操作方便快捷,可大大提高您的工作效率。 二、查询功能: 您只需用鼠标点击一下相应节点,就可迅速查询统计销售的情况,根据不同的查询统计条件显示出需要的结果。 三、报表功能: 根据查询或者统计出来的结果生成报表。 四:打印功能: 系统支持打印功能,如想打印信息单击预览报表上的打印按钮即可。 五、安全功能: 进入系统后,单击菜单“系统→工具→用户及权限”可以设置系统的各用

    基于springboot+vue的大学生创业项目的信息管理系统源码数据库文档.zip

    基于springboot+vue的大学生创业项目的信息管理系统源码数据库文档.zip

    numpy-1.25.2-cp311-cp311-linux_armv7l.whl

    numpy-1.25.2-cp311-cp311-linux_armv7l.whl

    STM32神舟III号例程源码SD读卡器(神舟III号-库函数版)

    STM32神舟III号例程源码SD读卡器(神舟III号-库函数版)提取方式是百度网盘分享地址

    numpy-1.20.0-cp37-cp37m-linux_armv7l.whl

    numpy-1.20.0-cp37-cp37m-linux_armv7l.whl

    matplotlib-3.7.5-cp39-cp39-linux_armv7l.whl

    matplotlib-3.7.5-cp39-cp39-linux_armv7l.whl

    onnxruntime-1.16.3-cp38-cp38-win_amd64.whl

    onnxruntime-1.16.3-cp38-cp38-win_amd64.whl

    【node毕业设计】nodejs学院会议纪要管理系统源码(完整前后端+mysql+说明文档).zip

    环境说明: 开发语言:nodejs 框架:Express 数据库:mysql 5.7(一定要5.7版本) 数据库工具:Navicat11 开发软件:VS code/HBuilder X

    【小程序毕业设计】自助购药小程序源码(完整前后端+mysql+说明文档+LW).zip

    功能说明: 系统主要包括首页、个人中心、用户管理、商家管理、药品信息管理、药品分类管理、发票信息管理、系统管理等功能模块。 环境说明: 开发语言:Java 服务器:tomcat7及以上 JDK版本:JDK1.8 数据库:mysql 5.7数据库工具:Navicat11及以上 开发软件:eclipse/idea 小程序框架:uniapp/原生小程序 开发工具:HBuilder X/微信开发者

Global site tag (gtag.js) - Google Analytics