在flex中用chart对数据展示时,有时候数据中有空值,但是希望数据为空时能用其他默认值来代替,这个时候就可以用dataFunction来做对数据显示前的一个预处理。
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:mx="library://ns.adobe.com/flex/mx" xmlns:s="library://ns.adobe.com/flex/spark" height="600"> <fx:Script><![CDATA[ import mx.charts.CategoryAxis; import mx.charts.chartClasses.AxisBase; import mx.charts.chartClasses.Series; [Bindable] public var SMITH:Array = [ {month: 1, High:45.87,Low:null, open:25.19}, {month: 2, High:45.74,Low:10.23, open:35.29}, {month: 3, High:45.77,Low:12.13, open:45.19}, {month: null, High:46.06,Low:10.45, open:15.59}, ]; private function columnDataFunc(series:Series, item:Object, fieldName:String):Object { if(fieldName == "yValue" && series.hasOwnProperty("yField")) { var yfield:String = series["yField"]; if(item[yfield] == null) { return 123; } //此时的返回值必须与数据类型相匹配。 return item[yfield]; } else if(fieldName == "xValue") { var xfield:String = categoryAxis.categoryField; //此时,必须返回为string类型的值,因为x轴为null时,chart控件会默认用此数据的index来代表,如果不为string的话,chart的图形会发生平移现象 //但是记得此时必须和categoryDataFunction中的返回逻辑一样 return item[xfield] != null ? item[xfield].toString() : "4"; } else { return null; } } private function categoryDataFunction(axis:AxisBase, item:Object):Object { // 对数据源数据显示之前做处理,因为显示的时候都用string类型,所以可以返回任何类型 return item.month == null ? "4" : item.month; } protected function categoryAxisLabelFunction(item:Object, prevValue:Object, axis:CategoryAxis, categoryItem:Object):String { // labelFunction 仅仅决定显示的label的值 var showString:String = item.toString() + " -label"; return showString; } ]]></fx:Script> <s:layout> <s:VerticalLayout/> </s:layout> <mx:ColumnChart id="chart" dataProvider="{SMITH}" showDataTips="true" width="100%" height="100%"> <mx:horizontalAxis> <!-- The dataFunction replaces "categoryField='month'. --> <mx:CategoryAxis id="categoryAxis" dataFunction="categoryDataFunction" labelFunction="categoryAxisLabelFunction" categoryField="month"/> </mx:horizontalAxis> <mx:series> <!-- The dataFunction replaces yField value, which cannot drill down into an object (close.High is not valid). --> <mx:ColumnSeries id="highClose" yField="High" maxColumnWidth="20" name="High" dataFunction="columnDataFunc" /> <mx:ColumnSeries id="lowClose" yField="Low" maxColumnWidth="20" name="Low" dataFunction="columnDataFunc" /> </mx:series> </mx:ColumnChart> </s:Application>
相关推荐
Flex Chart+WebService由于发布时没有注意,忘了把MXML的源码打包。webservice采用的是Myeclipse自带的XFIRES,可自行添加。
学习使用Flex Chart。 只用控件,不会AS不要紧。
flex 各种图表的代码,特别是柱状图,里面写了好多不同样式的柱状图,比如圆形的,竖直显示值,重叠的,透明的等。
去除flex builder试用版水印 去除flex chart 水印方法
NULL 博文链接:https://shuiyan.iteye.com/blog/628704
使用flex绘制折线图,分为单线和双线,flash工具为4.5,可以直接运行
Flex Chart Sytles 简单示例 基本样式使用,网上搜到的收藏下。
Flex Chart的3D展示,采用Flex as语言,动态画出图标3D效果。该图表为网上淘下来,自认为很厉害的一个源码。
FlexChart平均线代码,源码自己看。试一下。
以下是我最近做flex组件编程时的总结,是主要针对lineChart的用法,其中某些属性对同是有横纵坐标的columnChart、barChart等都有效,比如对背景的网格线、横纵坐标线条的粗细颜色和标签的设置都有效。
flex中dataGrid导出数据到excel中,不存在乱码问题
Flex builder中用flexpaper在线预览步骤总结
一个Flex调用WebService服务的小例子.从Java端获得一个list,在Flex端解析成柱状图, Chart组件的颜色,渐变都有体现 附源码!
改变datatips显示字体大小的方法,也可以跟据这种方法自己定义别的样式。 包含了linechart样式的改变,颜色也可以改变
Flex是通过java或者.net等非Flash途径,解释.mxml文件组织components,并生成相应的.swf文件。Flex的component和flash的component很相似,但是有所改进增强。目前Macromedia公司已经被ADOBE公司收购。当前(2008年10...
Flex3中用到的工具类包,含有json类,在flex3中用到json的话,这个包很有用哦,src为源码,lib中为swc文件
FlexChart如何查看效果拷贝 chartapp1/bin/ 下面的文件,到服务器(如tomcat)的某个应用的子目录下,然后访问bobochart.html即可文件简介BasicLib一个基础的lib项目,提供了工具类等供其他项目使用chartslib1chart...
flexchart
这是一个关于flex4与后台数据进行交互的内容,个人感觉还不错的。
Flex BlazeDs 推数据生成lineChart实例 前台生成lineChart 实时监控可作参考