Has anyone had any success in creating a chart with a series that
you can add to at runtime? (Like Yahoo finance charts 2.0). I
haven't yet seen an example where the LinSeries is based upon a
changing (growing) set of external xml data files. Below i paste a
snippet where i try to for loop through an Array Collection and
create a separate httpservice call for each dataset (each baseball
player). The httpservice URL is created dynamically based upon the
arraycollection. I don't get any errors, but my chart will not
paint my data. I think my problem is in:
newSeries.dataProvider = myService.lastResult.item;
thanks,
Ted
<mx:Script><![CDATA[
import mx.rpc.http.mxml.HTTPService;
import mx.charts.chartClasses.StackedSeries;
import mx.charts.chartClasses.Series;
import mx.events.IndexChangedEvent;
import mx.events.ListEvent;
import mx.utils.StringUtil;
import mx.controls.Alert;
import mx.charts.events.ChartItemEvent;
import mx.collections.ArrayCollection;
import mx.utils.ArrayUtil;
import mx.charts.series.LineSeries;
import mx.charts.DateTimeAxis;
import mx.charts.CategoryAxis;
[Bindable]
public var ItemsInChart:ArrayCollection = new ArrayCollection
([
{playerName: "Babe_Ruth", playerID: "123456"},
{playerName: "Hank_Aaron", playerID: "123457"}]);
public function initApp():void {
//Loop through the ArrayCollection ItemsinChart and create
a new httpservice and line for each.
var i:int;
for (i = 0; i < ItemsInChart.length; i++) {
var myService:HTTPService = new
HTTPService();
var playerStr:String =
ItemsInChart.getItemAt(i).playerName;
myService.url = "assets/" + playerStr
+ ".xml";
myService.send();
// Create the new series and set its properties.
var series:Array = myChart.series;
var newSeries:LineSeries = new LineSeries;
newSeries.dataProvider = myService.lastResult.item;
newSeries.xField = "Year";
newSeries.yField = "Home_Runs";
newSeries.displayName = "Home Runs for Baseball
Greats";
newSeries.name = "Home Runs";
// Add the new series to the current Array of series.
series.push(newSeries);
myChart.series = series;
}
}
]]>
</mx:Script>