Flex: Set LineChart to append dataProvider values horizontally to show growth over time frame
Basically the default behavior of the horizontal axis of the line chart is to graph each plot "as is" for example if you had this data:
<data value="5">
<data value=开发者_如何学Go"6">
<data value="7">
would graph, 5|6|7
I would like to make it graph so that it is adding to a value as it goes horizontally so it would graph the numbers like this: 5|11|18
as each step it is adding the value. so first you have 5, then you have 5+6 = 11, then you have 11+7 = 18. So the graph is always going up (unless there is a negative value) as to show the growth over time.
But I would like this to be something that can be changed at runtime via a property like showGrowthOverTime = true.
I am not even sure what I would need to extend LineChart? LinearAxis?
Thanks!!!
If it were me I would use a standard chart (no extending) but change the data. Conceptually I would get the data from my remoteObject, then create a another object that loops through and creates it's datapoints with a function that measures the total growth like you want, then just change the DP of the chart at runtime.
Based on invertedSpear's suggestion this is what I have come up with on how to change the actual data:
public static function makeXMLListOverTime(xmlList:XMLList,property:String):XMLList
{
/** property can be either xmlList."nodeName" or xmlList."@attributeName" */
xmlList = xmlList.copy();
var value:Number = 0;
for(var i:uint = 0; i<xmlList[property].length(); i++)
{
var curVal:Number = Number(xmlList[property][i]);
value += curVal;
xmlList[property][i] = value;
}
return xmlList;
}
精彩评论