| Package | org.openzet.charts.chartClasses |
| Class | public class ChartZoomer |
| Inheritance | ChartZoomer mx.containers.HDividedBox |
| Property | Defined by | ||
|---|---|---|---|
| areaPercentHeight : Number [read-only]
Percent height for left, center and right.
| ChartZoomer | ||
| areaPercentWidth : Number [read-only]
Percent width for left, center and right.
| ChartZoomer | ||
| centerArea : Canvas [read-only]
Center Area of HDividedBox
| ChartZoomer | ||
| chartData : ArrayCollection
Data provider bound with target chart control.
| ChartZoomer | ||
| isDragEnabled : Boolean [read-only]
Flag that indicates whehter center area is clicked on.
| ChartZoomer | ||
| leftArea : Canvas [read-only]
Left Area of HDividedBox
| ChartZoomer | ||
| leftValue : int
Data's extraction start index.
| ChartZoomer | ||
| navigateChart : CartesianChart
Target chart to extract data from.
| ChartZoomer | ||
| rightArea : Canvas [read-only]
Right Area of HDividedBox
| ChartZoomer | ||
| rightValue : int
Data's extraction end index.
| ChartZoomer | ||
| Method | Defined by | ||
|---|---|---|---|
|
Constructor
| ChartZoomer | ||
| Method | Defined by | ||
|---|---|---|---|
|
createLayout():void
Creates the layout of this control.
| ChartZoomer | ||
|
itemInvalidate():Boolean
필수 요소인 navigateChart와 chartData를 체크하여 화면을 구성하는데 있어 발생할 수 있는 문제를 방지한다.
| ChartZoomer | ||
|
updateLayout():void
Updates the layout.
| ChartZoomer | ||
| Event | Summary | Defined by | ||
|---|---|---|---|---|
| Dispatched when the user drags the Divider. | ChartZoomer | |||
| areaPercentHeight | property |
areaPercentHeight:Number [read-only]Percent height for left, center and right.
Implementation public function get areaPercentHeight():Number
| areaPercentWidth | property |
areaPercentWidth:Number [read-only]Percent width for left, center and right.
Implementation public function get areaPercentWidth():Number
| centerArea | property |
centerArea:Canvas [read-only]Center Area of HDividedBox
Implementation public function get centerArea():Canvas
| chartData | property |
chartData:ArrayCollection [read-write]Data provider bound with target chart control.
This property can be used as the source for data binding.
Implementation public function get chartData():ArrayCollection
public function set chartData(value:ArrayCollection):void
| isDragEnabled | property |
isDragEnabled:Boolean [read-only]Flag that indicates whehter center area is clicked on.
Implementation public function get isDragEnabled():Boolean
| leftArea | property |
leftArea:Canvas [read-only]Left Area of HDividedBox
Implementation public function get leftArea():Canvas
| leftValue | property |
leftValue:int [read-write]Data's extraction start index.
Implementation public function get leftValue():int
public function set leftValue(value:int):void
| navigateChart | property |
navigateChart:CartesianChart [read-write]Target chart to extract data from.
Implementation public function get navigateChart():CartesianChart
public function set navigateChart(value:CartesianChart):void
| rightArea | property |
rightArea:Canvas [read-only]Right Area of HDividedBox
Implementation public function get rightArea():Canvas
| rightValue | property |
rightValue:int [read-write]Data's extraction end index.
Implementation public function get rightValue():int
public function set rightValue(value:int):void
| ChartZoomer | () | constructor |
public function ChartZoomer()Constructor
| createLayout | () | method |
protected function createLayout():voidCreates the layout of this control.
| itemInvalidate | () | method |
protected function itemInvalidate():Boolean필수 요소인 navigateChart와 chartData를 체크하여 화면을 구성하는데 있어 발생할 수 있는 문제를 방지한다.
ReturnsBoolean |
| updateLayout | () | method |
protected function updateLayout():voidUpdates the layout.
| dividerChange | event |
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:chart="org.openzet.charts.chartClasses.*"
backgroundColor="0xFFFFFF"
paddingTop="5"
paddingRight="5"
paddingLeft="5"
paddingBottom="5"
creationComplete="creationCompleteHandler();">
<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import org.openzet.events.ChartZoomerEvent;
private function creationCompleteHandler():void
{
setRandomData();
}
[Bindable]
private var expenses:ArrayCollection = new ArrayCollection();
[Bindable]
private var newData:ArrayCollection = new ArrayCollection();
private function setRandomData():void
{
var tempAC:ArrayCollection = new ArrayCollection();
expenses = new ArrayCollection();
var i:int;
var n:int = 500;
for (i = 0; i < n; i++)
{
tempAC.addItem({Month: Math.floor(Math.random() * (12 - 1 + 1)) + 1,
Profit: Math.floor(Math.random() * (500 - 300 + 1)) + 300,
Expenses: Math.floor(Math.random() * (500 - 300 + 1)) + 300});
}
expenses = tempAC;
}
private function dividerChangeHandler(event:ChartZoomerEvent):void
{
newData.source = expenses.source.slice(event.leftValue, event.rightValue);
}
]]>
</mx:Script>
<mx:AreaChart id="myChart"
dataProvider="{newData}"
showDataTips="true"
width="100%" height="100%">
<mx:verticalAxis>
<mx:LinearAxis />
</mx:verticalAxis>
<mx:verticalAxisRenderers>
<mx:AxisRenderer
axis="{axis0}" visible="false" />
</mx:verticalAxisRenderers>
<mx:horizontalAxis>
<mx:CategoryAxis
id="axis0"
dataProvider="{newData}"
categoryField="Month" />
</mx:horizontalAxis>
<mx:horizontalAxisRenderers>
<mx:AxisRenderer
axis="{axis0}" showLabels="false" visible="false"
includeInLayout="false">
</mx:AxisRenderer>
</mx:horizontalAxisRenderers>
<mx:seriesFilters>
<mx:Array/>
</mx:seriesFilters>
<mx:series>
<mx:AreaSeries
yField="Profit"
displayName="Profit"/>
</mx:series>
</mx:AreaChart>
<mx:AreaChart id="myChart2"
dataProvider="{expenses}"
showDataTips="false"
width="100%" height="20%">
<mx:verticalAxis>
<mx:LinearAxis maximum="1000" padding="0"/>
</mx:verticalAxis>
<mx:verticalAxisRenderers>
<mx:AxisRenderer
axis="{axis1}" showLine="false"
visible="false" includeInLayout="false"/>
</mx:verticalAxisRenderers>
<mx:horizontalAxis>
<mx:CategoryAxis
id="axis1"
dataProvider="{expenses}"
categoryField="Month" />
</mx:horizontalAxis>
<mx:horizontalAxisRenderers>
<mx:AxisRenderer
axis="{axis1}" showLabels="false" visible="false"
includeInLayout="false">
</mx:AxisRenderer>
</mx:horizontalAxisRenderers>
<mx:seriesFilters>
<mx:Array/>
</mx:seriesFilters>
<mx:series>
<mx:AreaSeries
yField="Profit"
displayName="Profit"/>
</mx:series>
<mx:annotationElements>
<chart:ChartZoomer
id="zoomInControl"
navigateChart="{myChart2}" chartData="{expenses}" dividerChange="dividerChangeHandler(event);" />
</mx:annotationElements>
</mx:AreaChart>
<mx:Button label="set Data" click="setRandomData();" />
</mx:Application>