Tutorial :Bug in stacked series in Flex Charting



Question:

I think there is bug in Flex charting.

"DATETIME AXIS DOES NOT SUPPORT SERIES STACKING IN CERTAIN CASES WHILE LINEAR AXIS AND CATEGORY WORKS FINE IN SIMILAR CONDITIONS"

This happens for 'clustered' and 'stacked' types when each series has its individual data provider. If data provider is assigned with chart itself it will work fine.

Below code works fine when (1)'c.dataprovider = yearlydata; ' is uncommented (2)'series1.dataProvider = yearlyData2;' is commented. (3)'series2.dataProvider = yearlyData2;' is commented

However if category axis or linear axis is used then the code works fine, no matter how do we assign the data providerThe code is pasted below for your reference.

"IS IT A BUG IN FLEX OR AM I MISSING SOMETHING" ??

I need it desperately, please help.

Thanks in advance.

==========================================================

 [Bindable]   private var yearlyData1:ArrayCollection = new ArrayCollection([      {month:"January", revenue:120, costs:45, id:1,          overhead:102, oneTime:23, date:new Date(2010,1,19,1,1,1)},      {month:"February", revenue:108, costs:42, id:2,          overhead:87, oneTime:47, date:new Date(2010,1,19,1,1,2)},      {month:"March", revenue:150, costs:82, id:3,          overhead:32, oneTime:21, date:new Date(2010,1,19,1,1,3)},      {month:"April", revenue:170, costs:44, id:4,          overhead:68, date:new Date(2010,1,19,1,1,4) }   ]);     [Bindable]   private var yearlyData2:ArrayCollection = new ArrayCollection([      {month:"January", revenue:120, costs:45, id:1,          overhead:102, oneTime:23, date:new Date(2010,1,19,1,1,1)},      {month:"February", revenue:108, costs:42, id:2,          overhead:87, oneTime:47, date:new Date(2010,1,19,1,1,2)},      {month:"March", revenue:150, costs:82, id:3,          overhead:32, oneTime:21, date:new Date(2010,1,19,1,1,3)},      {month:"April", revenue:170, costs:44, id:4,          overhead:68, date:new Date(2010,1,19,1,1,4) }   ]);    var c:ChartBase = new CartesianChart();     private function initApp():void {  

// This will work fine when uncommented // c.dataProvider = yearlyData1;

    var hAxis:DateTimeAxis = new DateTimeAxis();      CartesianChart(c).horizontalAxis = hAxis;        var vAxis:LinearAxis = new LinearAxis();      CartesianChart(c).verticalAxis = vAxis;          var mySeries:Array = new Array();      panel2.addChild(c);          var innerSet:ColumnSet = new ColumnSet();      innerSet.type = "stacked";      var series1:Series = new ColumnSeries();      // This will work fine when commented      series1.dataProvider = yearlyData1;      ColumnSeries(series1).xField = "date";      ColumnSeries(series1).yField = "costs";      ColumnSeries(series1).displayName = "Costs";      ColumnSeries(series1).horizontalAxis = hAxis;      ColumnSeries(series1).verticalAxis = vAxis;          var series2:Series = new ColumnSeries();      // This will work fine when commented      series2.dataProvider = yearlyData2;      ColumnSeries(series2).xField = "date";      ColumnSeries(series2).yField = "oneTime";      ColumnSeries(series2).displayName = "One-Time Costs";      ColumnSeries(series2).horizontalAxis = hAxis;      ColumnSeries(series2).verticalAxis = vAxis;          innerSet.horizontalAxis = hAxis;      innerSet.verticalAxis = vAxis;          innerSet.series.push(series1);      innerSet.series.push(series2);        c.series.push(innerSet);      var l:Legend = new Legend();      l.dataProvider = c;      panel2.addChild(l);     }  

]]>

==========================================================


Note:If u also have question or solution just comment us below or mail us on toontricks1994@gmail.com
Previous
Next Post »