パッケージ | mx.charts |
クラス | public class CategoryAxis |
継承 | CategoryAxis AxisBase EventDispatcher Object |
実装 | IAxis |
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 3 |
ランタイムバージョン: | Flash Player 9, AIR 1.1 |
CategoryAxis に対して dataProvider
プロパティを明示的に設定する必要はありません。グラフで使用される CategoryAxis は、それを含むグラフの dataProvider
プロパティを継承します。
同じデータプロバイダーを使用してデータをグラフに、カテゴリを CategoryAxis に取り込むことができますが、CategoryAxis はデータプロバイダーが静的な場合にレンダリングを最適化できます。可能であれば、カテゴリが相対的に静的であり、可変データが個別のデータプロバイダーに格納されるようにしてください。
dataProvider
プロパティには、ストリングの配列か、カテゴリ名を指定するプロパティを持つレコード(Object)の配列を使用できます。categoryField
プロパティを指定すると、CategoryAxis はデータプロバイダーがオブジェクトの配列であると見なします。categoryField
プロパティの値が null
の場合、CategoryAxis はデータプロバイダーがストリングの配列であると見なします。
The <mx:CategoryAxis>
tag inherits all the properties
of its parent classes and adds the following properties:
<mx:CategoryAxis Properties categoryField="null" dataFunction="No default" dataProvider="No default" labelFunction="No default" padding="Default depends on chart type" ticksBetweenLabels="true" />
さらに例を参照
プロパティ | 定義元 | ||
---|---|---|---|
baseline : Number [読み取り専用]
軸のベースライン位置です。 | CategoryAxis | ||
categoryField : String
ラベルのテキストを格納するデータプロバイダーのフィールドを指定します。 | CategoryAxis | ||
chartDataProvider : Object [書き込み専用]
周りを囲むグラフに割り当てられたデータプロバイダーです。 | AxisBase | ||
constructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクター関数への参照です。 | Object | ||
dataFunction : Function
現在のアイテムの categoryValue として使用する値を返すメソッドを指定します。このプロパティが設定されている場合、カスタムのデータ関数の戻り値は categoryField よりも優先されます。カスタムの dataFunction には、次のシグネチャがあります。function_name (axis:CategoryAxis, item:Object):Object { ... | CategoryAxis | ||
dataProvider : Object
ラベルの名前が格納されているデータソースを指定します。 | CategoryAxis | ||
displayName : String
軸の名前です。 | AxisBase | ||
labelFunction : Function
CategoryAxis の dataProvider の各アイテム用に生成されたラベルを定義する関数を指定します。 | CategoryAxis | ||
padding : Number
データを画面上にレンダリングするときに、軸のいずれかの端に追加されるスペースを指定します。 | CategoryAxis | ||
ticksBetweenLabels : Boolean
大目盛りの軸上の場所を、カテゴリのラベルに対して相対的に指定します。 | CategoryAxis | ||
title : String
軸に沿って表示されるタイトルのテキストです。 | AxisBase | ||
unitSize : Number [読み取り専用]
この軸に表示されるデータの 1 単位のサイズです。 | AxisBase |
メソッド | 定義元 | ||
---|---|---|---|
コンストラクターです。 | CategoryAxis | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
イベントリスナーオブジェクトを EventDispatcher オブジェクトに登録し、リスナーがイベントの通知を受け取るようにします。 | EventDispatcher | ||
グラフデータが変更されたときに、範囲のオブジェクトに通知を送るイベントをトリガーします。 | AxisBase | ||
イベントをイベントフローに送出します。 | EventDispatcher | ||
任意のタイプの値のセットにフィルターをかけ、マップできる数字のセットにします。 | CategoryAxis | ||
DataTips での表示用に値をフォーマットします。 | CategoryAxis | ||
軸ラベルを予測するための範囲を決定します。 | CategoryAxis | ||
レンダリングされるラベルテキストを取得します。 | CategoryAxis | ||
EventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。 | EventDispatcher | ||
オブジェクトに指定されたプロパティが定義されているかどうかを示します。 | Object | ||
軸に対する位置を数値データの値にマップして戻します。 | CategoryAxis | ||
Object クラスのインスタンスが、パラメーターとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。 | Object | ||
任意のタイプの値のセットを、画面の座標に換算できる数値のセットに変換します。 | CategoryAxis | ||
軸による重なるラベルの処理方法を決定します。 | CategoryAxis | ||
指定されたプロパティが存在し、列挙できるかどうかを示します。 | Object | ||
AxisRenderer がラベルを重ならないようにレンダリングできず、Axis オブジェクトによりラベルのセットが減らされるようにする場合に起動されます。 | CategoryAxis | ||
軸を使用する各 DataTransform が、その軸に自動的に登録されます。 | AxisBase | ||
EventDispatcher オブジェクトからリスナーを削除します。 | EventDispatcher | ||
ループ処理に対するダイナミックプロパティの可用性を設定します。 | Object | ||
ロケール固有の規則に従って書式設定された、このオブジェクトのストリング表現を返します。 | Object | ||
指定されたオブジェクトのストリング表現を返します。 | Object | ||
値のセットをデータ領域からスクリーン領域にマップします。 | CategoryAxis | ||
軸を使用する各 DataTransform が、その軸に自動的に登録されます。 | AxisBase | ||
グラフを更新します。 | CategoryAxis | ||
指定されたオブジェクトのプリミティブな値を返します。 | Object | ||
指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。 | EventDispatcher |
baseline | プロパティ |
categoryField | プロパティ |
categoryField:String
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 3 |
ランタイムバージョン: | Flash Player 9, AIR 1.1 |
ラベルのテキストを格納するデータプロバイダーのフィールドを指定します。 このプロパティが null
の場合、CategoryAxis は dataProvider にストリングの配列が含まれると見なします。
デフォルト値: null。
実装
public function get categoryField():String
public function set categoryField(value:String):void
dataFunction | プロパティ |
dataFunction:Function
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 3 |
ランタイムバージョン: | Flash Player 9, AIR 1.1 |
現在のアイテムの categoryValue として使用する値を返すメソッドを指定します。このプロパティが設定されている場合、カスタムのデータ関数の戻り値は categoryField
よりも優先されます。
カスタムの dataFunction
には、次のシグネチャがあります。
function_name (axis:CategoryAxis, item:Object):Object { ... }
axis
は、この dataFunction
を使用する現在の軸です。item
は、考慮される dataProvider 内のアイテムです。 この関数はオブジェクトを返します。
カスタマイズした dataFunction
の使用方法の例としては、ネストされたフィールドを持つアイテムのある dataProvider から値を返させることができます。
実装
public function get dataFunction():Function
public function set dataFunction(value:Function):void
例
この例の使用方法
public function myFunction(axis:CategoryAxis,item:Object):Object { return(item.Country.State); }
dataProvider | プロパティ |
dataProvider:Object
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 3 |
ランタイムバージョン: | Flash Player 9, AIR 1.1 |
ラベルの名前が格納されているデータソースを指定します。 dataProvider
にはストリングの配列、オブジェクトの配列、あるいは IList または ICollectionView インターフェイスを実装するいずれかのオブジェクトを指定することができます。 dataProvider
がストリングの配列である場合は、categoryField
プロパティが null
に設定されていることを確認します。 dataProvider がオブジェクトの配列の場合は、categoryField
プロパティを、ラベルのテキストを含むフィールドの名前に設定します。
実装
public function get dataProvider():Object
public function set dataProvider(value:Object):void
labelFunction | プロパティ |
labelFunction:Function
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 3 |
ランタイムバージョン: | Flash Player 9, AIR 1.1 |
CategoryAxis の dataProvider
の各アイテム用に生成されたラベルを定義する関数を指定します。 labelFunction
を指定しない場合は、デフォルト設定により、カテゴリ自体の値が軸ラベルとなります。
CategoryAxis の labelFunction
メソッドのシグネチャを次に示します。
function function_name(categoryValue:Object, previousCategoryValue:Object, axis:CategoryAxis, categoryItem:Object):String { ... }
次に、各指定アイテムについて説明します。
categoryValue
は、表示されるカテゴリの値です。previousCategoryValue
は、軸上にある前のカテゴリの値です。axis
は、レンダリングされる CategoryAxis です。categoryItem
は、表示されるdataProvider
からのアイテムです。
返されたストリングが軸のラベルとして表示されます。
categoryField
プロパティが設定されていない場合は、categoryValue
プロパティと同じ値となります。
実装
public function get labelFunction():Function
public function set labelFunction(value:Function):void
padding | プロパティ |
padding:Number
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 3 |
ランタイムバージョン: | Flash Player 9, AIR 1.1 |
データを画面上にレンダリングするときに、軸のいずれかの端に追加されるスペースを指定します。 0 に設定すると、最初のカテゴリが軸の先端に、最後のカテゴリが末端にマッピングされます。0.5 に設定すると、カテゴリ幅の半分のスペースが、軸の先端と最初のカテゴリの間、および最後のカテゴリと軸の末端の間に挿入されます。
これは、縦棒グラフや横棒グラフなど、カテゴリの境界を超えてレンダリングするタイプのグラフに便利です。ただし、LineChart または AreaChart で horizontalAxis として使用すると、0 にリセットされます。
デフォルト値: 0.5。
実装
public function get padding():Number
public function set padding(value:Number):void
ticksBetweenLabels | プロパティ |
ticksBetweenLabels:Boolean
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 3 |
ランタイムバージョン: | Flash Player 9, AIR 1.1 |
大目盛りの軸上の場所を、カテゴリのラベルに対して相対的に指定します。 true
に設定すると、カテゴリ間に目盛り、および関連するグリッド線が表示されます。 false
の場合は、目盛りがカテゴリの中央に、ラベルと整列して配置されます。
実装
public function get ticksBetweenLabels():Boolean
public function set ticksBetweenLabels(value:Boolean):void
CategoryAxis | () | コンストラクター |
public function CategoryAxis()
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 3 |
ランタイムバージョン: | Flash Player 9, AIR 1.1 |
コンストラクターです。
filterCache | () | メソッド |
public function filterCache(cache:Array, field:String, filteredField:String):void
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 3 |
ランタイムバージョン: | Flash Player 9, AIR 1.1 |
任意のタイプの値のセットにフィルターをかけ、マップできる数字のセットにします。
パラメーター
cache:Array — 変換された値の読み取り元および保管先であるオブジェクトの配列です。
| |
field:String — フィルターの適用前の値を含む、キャッシュ配列の中のオブジェクトのフィールドです。
| |
filteredField:String — フィルターが適用された値の保管先となる、キャッシュ配列の中のオブジェクトのフィールドです。
|
formatForScreen | () | メソッド |
getLabelEstimate | () | メソッド |
public function getLabelEstimate():AxisLabelSet
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 3 |
ランタイムバージョン: | Flash Player 9, AIR 1.1 |
軸ラベルを予測するための範囲を決定します。 軸は直ちに getLabels()
メソッドを呼び出して実際の値を取得します。 軸は予測した値を使用して、グラフの余白を調整し、予測したラベルと正確なラベル(getLabels()
メソッドから返されたラベル)の間の差があっても、ラベルが適切に拡大・縮小されるようにします。
軸が予測したラベルを返すときは、最小ラベルおよび最大ラベルのみを返す必要があります。 ラベルのセットがかなり静的で、画面にレンダリングされる軸のサイズに依存しない場合は、軸がラベルセット全体をこの関数から返し、予測したラベルに正確であることを示すマークを付けることができます。
戻り値AxisLabelSet — AxisLabel オブジェクトの配列です。
|
getLabels | () | メソッド |
public function getLabels(minimumAxisLength:Number):AxisLabelSet
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 3 |
ランタイムバージョン: | Flash Player 9, AIR 1.1 |
レンダリングされるラベルテキストを取得します。 このメソッドが呼び出されたときは、既に軸によってラベルの最小の長さが決定されています。
パラメーター
minimumAxisLength:Number — 軸の最小の長さ(ピクセル単位)です。 軸はこの値より長くすることができますが、短くすることはできません。
|
AxisLabelSet — AxisLabel オブジェクトの配列です。
|
invertTransform | () | メソッド |
mapCache | () | メソッド |
public function mapCache(cache:Array, field:String, convertedField:String, indexValues:Boolean = false):void
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 3 |
ランタイムバージョン: | Flash Player 9, AIR 1.1 |
任意のタイプの値のセットを、画面の座標に換算できる数値のセットに変換します。
パラメーター
cache:Array — 変換された値の読み取り元および保管先であるオブジェクトの配列です。
| |
field:String — 変換前の値を含む、キャッシュ配列の中のオブジェクトのフィールドです。
| |
convertedField:String — 変換された値の保管先となる、キャッシュ配列の中のオブジェクトのフィールドです。
| |
indexValues:Boolean (default = false ) — このパラメーターは、マップされる値がインデックス値である場合は true 、自然データ値である場合は false です。
|
preferDropLabels | () | メソッド |
reduceLabels | () | メソッド |
public function reduceLabels(intervalStart:AxisLabel, intervalEnd:AxisLabel):AxisLabelSet
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 3 |
ランタイムバージョン: | Flash Player 9, AIR 1.1 |
AxisRenderer がラベルを重ならないようにレンダリングできず、Axis オブジェクトによりラベルのセットが減らされるようにする場合に起動されます。 重なった 2 つのラベルがメソッドに渡されます。
パラメーター
intervalStart:AxisLabel — ラベルが重なる間隔の始まりです。
| |
intervalEnd:AxisLabel — ラベルが重なる間隔の終わりです。
|
AxisLabelSet — ラベルの数を減らして重複を解決する新しいラベルのセットです。
|
transformCache | () | メソッド |
public function transformCache(cache:Array, field:String, convertedField:String):void
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 3 |
ランタイムバージョン: | Flash Player 9, AIR 1.1 |
値のセットをデータ領域からスクリーン領域にマップします。
パラメーター
cache:Array — マップされた値の読み取り元および保管先であるオブジェクトの配列です。
| |
field:String — マップ前の値を含む、キャッシュ配列の中のオブジェクトのフィールドです。
| |
convertedField:String — マップされた値の保管先となる、キャッシュ配列の中のオブジェクトのフィールドです。
|
update | () | メソッド |
public function update():void
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 3 |
ランタイムバージョン: | Flash Player 9, AIR 1.1 |
グラフを更新します。 フレームごとに複数回呼び出すことができます。
<?xml version="1.0"?> <!-- Simple example to demonstrate the HLOCChart control. --> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx"> <fx:Script> <![CDATA[ import mx.collections.ArrayCollection; [Bindable] private var stockDataAC:ArrayCollection = new ArrayCollection( [ { Date: "25-Jul", Open: 40.55, High: 40.75, Low: 40.24, Close:40.31}, { Date: "26-Jul", Open: 40.15, High: 40.78, Low: 39.97, Close:40.34}, { Date: "27-Jul", Open: 40.38, High: 40.66, Low: 40, Close:40.63}, { Date: "28-Jul", Open: 40.49, High: 40.99, Low: 40.3, Close:40.98}, { Date: "29-Jul", Open: 40.13, High: 40.4, Low: 39.65, Close:39.95}, { Date: "1-Aug", Open: 39.00, High: 39.50, Low: 38.7, Close:38.6}, { Date: "2-Aug", Open: 38.68, High: 39.34, Low: 37.75, Close:38.84}, { Date: "3-Aug", Open: 38.76, High: 38.76, Low: 38.03, Close:38.12}, { Date: "4-Aug", Open: 37.98, High: 37.98, Low: 36.56, Close:36.69}, { Date: "5-Aug", Open: 36.61, High: 37, Low: 36.48, Close:36.86} ]); ]]> </fx:Script> <fx:Declarations> <!-- Define custom Stroke for the wick and ticks. --> <mx:SolidColorStroke id="s1" color="0x000000" weight="5" joints="bevel" caps="square"/> </fx:Declarations> <mx:Panel title="HLOCChart Control Example" height="100%" width="100%"> <mx:HLOCChart id="hlocchart" height="100%" width="100%" paddingRight="5" paddingLeft="5" showDataTips="true" dataProvider="{stockDataAC}"> <mx:verticalAxis> <mx:LinearAxis id="vaxis" baseAtZero="false" title="Price"/> </mx:verticalAxis> <mx:horizontalAxis> <mx:CategoryAxis id="haxis" categoryField="Date" title="Date"/> </mx:horizontalAxis> <mx:horizontalAxisRenderers> <mx:AxisRenderer axis="{haxis}" canDropLabels="true"/> </mx:horizontalAxisRenderers> <mx:series> <mx:HLOCSeries openField="Open" highField="High" lowField="Low" closeField="Close" stroke="{s1}" openTickStroke="{s1}" closeTickStroke="{s1}" openTickLength="7" closeTickLength="7" /> </mx:series> </mx:HLOCChart> </mx:Panel> </s:Application>
Tue Jun 12 2018, 10:34 AM Z