技术、人生
17 Sep




Open Flash Chart .net范例+源码 SVN地址:
http://svn.k2colocation.com/svn/OpenFlashChart
一、资源 版本:Version 1.9.7 下载:http://teethgrinder.co.uk/open-flash-chart/download.php 说明:openflash当前分为两个版本。我采用的是最早完善的版本。区别上老版 本采用actionscript2.0编译。新的版本采用actionscript3.0,并且数据传递 上采用了JSON方式。as类也比原来的少了很多,为了项目进度我没有仔 细去研究。有兴趣的朋友可以看看。 http://teethgrinder.co.uk/open-flash-chart-2/ 二、openflash压缩包目录结构 flash源代码 actionscript 测试数据 data-files 其他目录均为不同开发语言的开发包。 三、开发应用 需求:动态ajax曲线。 分析:由于这个版本不支持JSON对象传递参数,但是它提供了通过指定的文本 样式传递,形式如:(&参数&)。有了这样的方式我们就可以使用open flash提供的js脚本reload进行后台提交,生成这样的文本,实现动态加载 了。 详细配置: 首先将编译好的open-flash-chart.swf文件放入项目。具体flash怎样在页面 中配置就不在叙述。下面主要描述绘制曲线的参数。 &title= 标题,标题样式(css)& &bg_colour= 背景颜色& &x_ticks= 5& 参数为int型,设置X轴刻度的长度。注意是刻度 &x_axis_steps= 1& 参数为int型,设置X轴刻度步长。个人认为这个值比较关键。例如:当 我们X轴的点很多时,如果你仍然设置其为1那么画出来的X轴就不能看 了,全挤到一起了。所以这个值我是通过,X轴值的数量与图像屏幕宽 度值一起计算得到的。 &x_label_style= 字体大小(int),字体颜色,标题显示的方向(int),标题步长 (int)& 此参数为X轴标题的设置,有两个重点参数 a)标题的方向,0代表水平的,1代表垂直的,2代表45度角的 b)标题步长 ,这个值可以设置标题是一个刻度下边显示一个标题,还 是一个刻度隔一个刻度显示标题。 &line= 线粗细值(int),线条颜色,线的名称,图例字体大小,未知& 此参数定义我们需要画什么样的线。line为最普通的线,系统还提供了 另外两种。line_dot点线,line_hollow 镂空的点线。具体设置与普通线 雷同就不表述了。如果我们要显示两条三条或更多的线,那么我们需要 在line的后面加_1、_2。我们可以理解线的下标是从0开始。但此处没有 line_0,就是直接从line=、line_1=开始。第五个参数我修改了几遍视乎 也没什么效果。 &values= 画线值,画线值& 上边我们设置了需要画什么线,那么此参数就设置线怎样画。也就是线 条的值。不同的值使用“,”分隔。此值可以为NULL,例如:v1,null,v2 这样代表中间的点不划线。同样多条线的值就用values_1开始。 &links= js方法& 这个参数可以让你在画好的线的每一个点上增加一个javascript脚本,使 画好的线功能更强大。不同的脚本使用“,”分隔。多条线同样采用 links_1开始。 &x_labels= X轴标题值& 此参数在设置X轴的标题同时也隐含了X轴的数量。我们所画线条的X轴 坐标就是通过这个数量绘制。不同值同样采用“,”分隔。由于是线条的 X坐标,所以要注意X轴值的数量要保持和画线value值的数量保持一 致。多条曲线时那你就需要将所有的X值合并了。 &y_legend= 图例名称,字体大小,字体颜色& 此参数是设置Y轴的描述 &y_ticks= Y轴刻度长度,Y刻度比例值,Y轴分为几段显示(int)& 此参数在设置Y轴刻度长度的同时,最重要的就是可以设置Y轴可以分为 几段来显示。 &y_min= Y轴最小值&&y_max= Y轴最大值& 设置Y轴的最大最小值,我们的线条也是画在这个范围内。 通过以上设置,我们就可以任意画线了。openflash单独画线很不错,但是没有 提供画多条线时值对比,使用键盘移动节点,这些功能。并且在画线数量过多 是显示性能会有问题。 四、扩展应用 键盘扩展: 由于采用as2.0版本。我扩展了一下键盘点击左右节点移动事件。 Key.addListener(stageListener); stageListener.onKeyDown = function(){ if(Key.isDown(Key.LEFT)){ 。。。。。。。。。 }else if(Key.isDown(Key.RIGHT)){ 。。。。。。。。。 } }
Leave a reply
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。