flex LineChart 图表动态增删Y轴实现。实现了动态增加但是Y轴删不干净
2010-11-10 14:27
441 查看
现在实现了动态增加Y轴但是在移除的时候出现了问题,Y轴删不干净,我快疯了,以下是样例代码,求助。
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
[Bindable]
private var medalsAC:ArrayCollection = new ArrayCollection( [
{ Country: "USA", Gold: 35, Silver:39,Bronze:66,Bronze1:44 },
{ Country: "China", Gold: 32, Silver:17,Bronze:47,Bronze1:97 },
{ Country: "Russia", Gold: 27, Silver:27,Bronze:33,Bronze1:45 } ]);
private function leftclick(event:MouseEvent):void{
first1.visible=!first1.visible;
first2.visible=!first2.visible;
first3.visible=!first3.visible;
}
private function rightclick(event:MouseEvent):void{
second1.visible=!second1.visible;
second2.visible=!second2.visible;
second3.visible=!second3.visible;
}
private var vaxarr:Array = new Array();
protected function button1_clickHandler(event:MouseEvent):void
{
var vax:AxisRenderer = new AxisRenderer();
var linearaxis:LinearAxis = new LinearAxis();
vax.axis = linearaxis;
vaxarr.push(vax);
LineChart.verticalAxisRenderers= vaxarr;
}
protected function button2_clickHandler(event:MouseEvent):void
{
vaxarr.pop();
LineChart.verticalAxisRenderers= vaxarr;
}
]]>
</mx:Script>
<mx:LineChart id="LineChart" dataProvider="{medalsAC}" showDataTips="true" width="500" height="300" y="0" x="0">
<mx:horizontalAxis>
<mx:CategoryAxis categoryField="Country" />
</mx:horizontalAxis>
<mx:series>
<mx:LineSeries id="first1" verticalAxis="{firstVAxis}" displayName="左边1" yField="Gold" itemRenderer="mx.charts.renderers.CircleItemRenderer">
</mx:LineSeries>
<mx:LineSeries id="first2" verticalAxis="{firstVAxis}" yField="Silver" displayName="左边2" itemRenderer="mx.charts.renderers.CircleItemRenderer">
</mx:LineSeries>
<mx:LineSeries id="second1" verticalAxis="{secondVAxis}" yField="Bronze" displayName="右边1" itemRenderer="mx.charts.renderers.CircleItemRenderer">
</mx:LineSeries>
<mx:LineSeries id="second2" verticalAxis="{secondVAxis}" yField="Bronze1" displayName="右边2" itemRenderer="mx.charts.renderers.CircleItemRenderer">
</mx:LineSeries>
</mx:series>
<mx:verticalAxisRenderers>
<mx:AxisRenderer placement="left" color="#FF0000" id="first3" >
<mx:axis>
<mx:LinearAxis title="" baseAtZero="true" id="firstVAxis"/>
</mx:axis>
</mx:AxisRenderer>
<mx:AxisRenderer placement="right" color="#FFFF00" id="second3">
<mx:axis>
<mx:LinearAxis title="" baseAtZero="true" id="secondVAxis"/>
</mx:axis>
</mx:AxisRenderer>
</mx:verticalAxisRenderers>
</mx:LineChart>
<mx:Button x="553" y="448" label="隐藏左边" click="leftclick(event)" fontSize="12"/>
<mx:Button x="553" y="448" label="隐藏右边" click="rightclick(event)" fontSize="12"/>
<mx:Button x="553" y="208" label="添加轴" click="button1_clickHandler(event)"/>
<mx:Button x="553" y="238" label="移除加轴" click="button2_clickHandler(event)"/>
</mx:Application>
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
[Bindable]
private var medalsAC:ArrayCollection = new ArrayCollection( [
{ Country: "USA", Gold: 35, Silver:39,Bronze:66,Bronze1:44 },
{ Country: "China", Gold: 32, Silver:17,Bronze:47,Bronze1:97 },
{ Country: "Russia", Gold: 27, Silver:27,Bronze:33,Bronze1:45 } ]);
private function leftclick(event:MouseEvent):void{
first1.visible=!first1.visible;
first2.visible=!first2.visible;
first3.visible=!first3.visible;
}
private function rightclick(event:MouseEvent):void{
second1.visible=!second1.visible;
second2.visible=!second2.visible;
second3.visible=!second3.visible;
}
private var vaxarr:Array = new Array();
protected function button1_clickHandler(event:MouseEvent):void
{
var vax:AxisRenderer = new AxisRenderer();
var linearaxis:LinearAxis = new LinearAxis();
vax.axis = linearaxis;
vaxarr.push(vax);
LineChart.verticalAxisRenderers= vaxarr;
}
protected function button2_clickHandler(event:MouseEvent):void
{
vaxarr.pop();
LineChart.verticalAxisRenderers= vaxarr;
}
]]>
</mx:Script>
<mx:LineChart id="LineChart" dataProvider="{medalsAC}" showDataTips="true" width="500" height="300" y="0" x="0">
<mx:horizontalAxis>
<mx:CategoryAxis categoryField="Country" />
</mx:horizontalAxis>
<mx:series>
<mx:LineSeries id="first1" verticalAxis="{firstVAxis}" displayName="左边1" yField="Gold" itemRenderer="mx.charts.renderers.CircleItemRenderer">
</mx:LineSeries>
<mx:LineSeries id="first2" verticalAxis="{firstVAxis}" yField="Silver" displayName="左边2" itemRenderer="mx.charts.renderers.CircleItemRenderer">
</mx:LineSeries>
<mx:LineSeries id="second1" verticalAxis="{secondVAxis}" yField="Bronze" displayName="右边1" itemRenderer="mx.charts.renderers.CircleItemRenderer">
</mx:LineSeries>
<mx:LineSeries id="second2" verticalAxis="{secondVAxis}" yField="Bronze1" displayName="右边2" itemRenderer="mx.charts.renderers.CircleItemRenderer">
</mx:LineSeries>
</mx:series>
<mx:verticalAxisRenderers>
<mx:AxisRenderer placement="left" color="#FF0000" id="first3" >
<mx:axis>
<mx:LinearAxis title="" baseAtZero="true" id="firstVAxis"/>
</mx:axis>
</mx:AxisRenderer>
<mx:AxisRenderer placement="right" color="#FFFF00" id="second3">
<mx:axis>
<mx:LinearAxis title="" baseAtZero="true" id="secondVAxis"/>
</mx:axis>
</mx:AxisRenderer>
</mx:verticalAxisRenderers>
</mx:LineChart>
<mx:Button x="553" y="448" label="隐藏左边" click="leftclick(event)" fontSize="12"/>
<mx:Button x="553" y="448" label="隐藏右边" click="rightclick(event)" fontSize="12"/>
<mx:Button x="553" y="208" label="添加轴" click="button1_clickHandler(event)"/>
<mx:Button x="553" y="238" label="移除加轴" click="button2_clickHandler(event)"/>
</mx:Application>
相关文章推荐
- Flex 实现LineChart曲线——动态加载组件
- 基于.net webservices和Flex LineChart组件的动态数据监控
- Android图表控件MPAndroidChart——曲线图LineChart(多条曲线)动态添加数据^a!HsMa0cWDc
- Flex中如何利用seriesFilters属性,添加/删除LineChart图表曲线阴影
- flex4(flash builder)调用Amf远程对象动态添加LineChart图表线条
- Flex LineChart曲线——动态加载组件
- Flex:在LineChart图表中格式化双轴线
- Flex LineChart 动态添加线(LineSeries)及颜色
- Flex中如何利用seriesFilters属性,添加/删除LineChart图表曲线阴影
- Flex中如何利用seriesFilters属性,添加/删除LineChart图表曲线阴影
- flex4 动态获取对象属性,动态生成数据源,动态生成lineChart,清除数据。
- Flex LineChart 动态添加线(LineSeries)及颜色
- Flex LineChart动态创建曲线
- flex LineChart动态添加线
- flex4 动态获取对象属性,动态生成数据源,动态生成lineChart,清除数据。
- Flex中如何利用seriesFilters属性,添加/删除LineChart图表曲线阴影
- 向Flex中的LineChart中动态添加线
- Flex:在LineChart图表中创建一个自定义的LinearAxis函数标签(Tip提示)的例子
- Flex中用鼠标拖动LineChart图表的折线
- Flex中如何通过lineStroke样式改变LineChart图表线条颜色的例子