In a previous example, “Animating data changes in a Flex Pie Chart”, we looked at using the SeriesInterpolate effect to animate a pie chart when the data changed.
The following example shows how you can use the SeriesInterpolate, SeriesSlide, and SeriesZoom effects to create different animations.
Full code after the jump.
<?xml version="1.0" encoding="utf-8"?>
<!-- http://blog.flexexamples.com/2007/10/15/using-data-effects-to-animate-chart-data/ -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="vertical"
verticalAlign="middle"
backgroundColor="white">
<mx:Script>
<![CDATA[
private function updateDP():void {
var str:String = categoryFieldComboBox.selectedItem.data;
barSeries.xField = str;
barSeries.displayName = str;
}
]]>
</mx:Script>
<mx:SeriesInterpolate id="seriesInterpolate" duration="1000" />
<mx:SeriesSlide id="seriesSlide" duration="1000" direction="right" />
<mx:SeriesZoom id="seriesZoom" duration="1000" />
<mx:Array id="dataEffects">
<mx:Object label="seriesInterpolate" data="{seriesInterpolate}" />
<mx:Object label="seriesSlide" data="{seriesSlide}" />
<mx:Object label="seriesZoom" data="{seriesZoom}" />
</mx:Array>
<mx:Array id="categoryFields">
<mx:Object data="obp" label="OBP" />
<mx:Object data="slg" label="SLG" />
<mx:Object data="avg" label="AVG" />
</mx:Array>
<mx:ArrayCollection id="arrColl">
<mx:source>
<mx:Array>
<mx:Object name="R Winn" obp=".353" slg=".445" avg=".300" />
<mx:Object name="P Feliz" obp=".290" slg=".418" avg=".253" />
<mx:Object name="O Vizquel" obp=".305" slg=".316" avg=".246" />
<mx:Object name="B Molina" obp=".298" slg=".433" avg=".276" />
<mx:Object name="R Durham" obp=".295" slg=".343" avg=".218" />
</mx:Array>
</mx:source>
</mx:ArrayCollection>
<mx:ApplicationControlBar dock="true">
<mx:Form>
<mx:FormItem label="categoryField:">
<mx:ComboBox id="categoryFieldComboBox"
dataProvider="{categoryFields}"
change="updateDP();" />
</mx:FormItem>
<mx:FormItem label="showDataEffect:">
<mx:ComboBox id="showDataEffectComboBox"
dataProvider="{dataEffects}"
change="updateDP();" />
</mx:FormItem>
</mx:Form>
</mx:ApplicationControlBar>
<mx:BarChart id="barChart"
showDataTips="true"
dataProvider="{arrColl}"
width="100%"
height="100%">
<mx:verticalAxis>
<mx:CategoryAxis categoryField="name"/>
</mx:verticalAxis>
<mx:series>
<mx:BarSeries id="barSeries"
yField="name"
xField="obp"
displayName="obp"
showDataEffect="{showDataEffectComboBox.selectedItem.data}" />
</mx:series>
</mx:BarChart>
</mx:Application>
View source is enabled in the following example.



it look like you are a flex guy and i am trying to start flexing… i have 6 years experience with Flash and actionscript, so picking this up is not to bad.
however, i am having trouble with a very basic setup issue. i am trying to develop locally and connect to Coldfusion for the backend on our development server… this keeps Failing, however when i run locally and point to my local services-config file… it runs fine. when i publish to the development server and compile poiting to the development servcies-config file, it fails.
not sure what i am doing wrong here, but these cool flex apps are not that great if my audience has to come to my office to see them on my local machine :)
thanks for and help that you can provide
This is my favorite FLEX site. Your examples are succint and easy to follow. Thank you for all newbies trying to pick up FLEX quickly.