16.9.重叠多个图表

16.9.1. 问题
我想要使用不同的类型的图表来表示重叠数据集合。
16.9.2. 解决办法
使用列状图来装载复合图表,然后使用<mx:Series>标签来定义复合图表和他们的属性
16.9.3. 讨论
任何图表都可以在其数列数组中包含复合图表数列,每个数组可以代表不同的字段,这些字段可以由一个数据提供器控制,也可以由多个不同的数据提供器控制。在以下的例子中,是用列状图承载复合数列数组
+展开
-XML
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxmlcreationComplete="genData()">
<mx:Script>
<![CDATA[
private var DJIA:Number = Math.random()*50 - 20;
private var NASDAC:Number = DJIA - Math.random() * 20;
private var SP500:Number = Math.random()*40;
public function genData():void
{
// assigning the data that the chart is bound to
// is best done via a local variable that is then
// set to the chart data, rather than adding values to the
// dataprovider of the chart
var newArr:Array = [];
for(var i:int = 0; i<10; i++)
{
DJIA = DJIA + Math.random()*10 - 5;
NASDAC = NASDAC - Math.random() * 5;
SP500 = Math.random()*40;
newArr.push({"DJIA": DJIA, "NASDAC": NASDAC,
"SP500": SP500 });
}
chartData = newArr;
}
[Bindable]
 public var chartData:Array = [];

]]>
</mx:Script>
<mx:SeriesInterpolate id="effelementOffset="1"
minimumElementDuration="40duration="2000"/>

<mx:Button click="genData()label="Generate data"/>
<mx:ColumnChart y="100width="100%height="100%"
dataProvider="{chartData}">

<mx:series>
<mx:ColumnSeries showDataEffect="{eff}"
yField="DJIA"/>

<mx:ColumnSeries showDataEffect="{eff}"
yField="NASDAC"/>

<mx:ColumnSeries showDataEffect="{eff}"
yField="SP500"/>

</mx:series>
</mx:ColumnChart>
</mx:Application>

在列状图中,复合列状图对象将被一个叠着一个来渲染。

加支付宝好友偷能量挖...


评论(0)网络
阅读(85)喜欢(0)flash/flex/fcs/AIR