(仅限 Flex 数据可视化组件)
mx.charts.chartClasses
public class DataTransform
继承DataTransform Inheritance EventDispatcher Inheritance Object
子类 CartesianTransform, PolarTransform

DataTransform 对象表示包含字型的图表的部分,可以实现值与屏幕坐标之间的相互转换。每个 DataTransform 对象都要显示一个水平轴、一个垂直轴和一组字型(背景、数据和重叠)。

理论上,图表可以包含多个重叠的 DataTransform 对象。这使您可以显示这样一种图表:在同一区域显示多个数据集,但却具有不同范围。例如,您可能希望显示月收入与销量的比较。如果收入通常以百万计,而销量通常以千计,则很难在同一范围内将二者有效地显示出来。通过将其叠加在不同的 DataTransform 对象中,最终用户即可比较使用不同范围显示的数值的趋势。

图表中只能包含一组 DataTransform。

多数情况下,您将使用 ChartBase 对象,该对象将在图表及其包含的字型和轴对象之间隐藏 DataTransform 对象。如果您要创建自己的 ChartElement 对象,则必须了解 DataTransform 类的方法才能正确地实现其元素。



公共属性
 属性定义方
  axes : Object
[只读 (read-only)] 与此转换相关的一组轴。
DataTransform
 Inheritedconstructor : Object
对类对象或给定对象实例的构造函数的引用。
Object
  elements : Array
与此转换相关的元素。
DataTransform
 Inheritedprototype : Object
[静态] 对类或函数对象的原型对象的引用。
Object
公共方法
 方法定义方
  
构造函数。
DataTransform
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。
EventDispatcher
  
通知 DataTransform 此图表中显示的部分基础数据已经发生更改。
DataTransform
  
describeData(dimension:String, requiredFields:uint):Array
收集与此数据转换相关的所有元素的重要显示值。
DataTransform
 Inherited
将事件调度到事件流中。
EventDispatcher
  
getAxis(dimension:String):IAxis
检索负责转换由维度参数指定的数据维度的轴实例。
DataTransform
 Inherited
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。
EventDispatcher
 Inherited
指示对象是否已经定义了指定的属性。
Object
  
相对于 DataTransform 坐标系将 x 坐标和 y 坐标转换为数据空间中的二维值。
DataTransform
 Inherited
指示 Object 类的实例是否在指定为参数的对象的原型链中。
Object
 Inherited
指示指定的属性是否存在、是否可枚举。
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
从 EventDispatcher 对象中删除侦听器。
EventDispatcher
  
setAxis(dimension:String, v:IAxis):void
将轴实例分配给转换的特定维度。
DataTransform
 Inherited
设置循环操作动态属性的可用性。
Object
 Inherited
返回指定对象的字符串表示形式。
Object
  
transformCache(cache:Array, xField:String, xConvertedField:String, yField:String, yConvertedField:String):void
将一组表示数据的数值映射到屏幕坐标。
DataTransform
 Inherited
返回指定对象的原始值。
Object
 Inherited
检查是否用此 EventDispatcher 对象或其任何始祖为指定事件类型注册了事件侦听器。
EventDispatcher
事件
 事件 摘要 定义方
 Inherited[广播事件] Flash Player 或 AIR 应用程序获得操作系统焦点并变为活动状态时将调度此事件。EventDispatcher
 Inherited[广播事件] Flash Player 或 AIR 应用程序失去操作系统焦点并变为非活动状态时将调度此事件。EventDispatcher
  在从数据空间到屏幕空间的转换发生更改时调度。发生此类更改的原因通常是进行此转换的轴发生了某种形式的更改,或者数据转换本身具有大小限制。DataTransform
属性详细信息
axes属性
axes:Object  [只读 (read-only)]

与此转换相关的一组轴。



实现
    public function get axes():Object
elements属性 
elements:Array  [读写]

与此转换相关的元素。此 Array 包括与转换相关的背景、系列和重叠元素。此值由封闭图表对象分配。



实现
    public function get elements():Array
    public function set elements(value:Array):void
构造函数详细信息
DataTransform()构造函数
public function DataTransform()

构造函数。

方法详细信息
dataChanged()方法
public function dataChanged():void

通知 DataTransform 此图表中显示的部分基础数据已经发生更改。一般情况下,DataTransform 对图表中显示的基础数据源没有任何了解,因此,当其数据发生更改时字型应调用此方法,以便 DataTransform 根据其数据重新计算范围尺度。这不会使 DataTransform 失效,因为没有数据发生更改的保证。轴对象(或范围对象)必须触发一个无效事件。

describeData()方法 
public function describeData(dimension:String, requiredFields:uint):Array

收集与此数据转换相关的所有元素的重要显示值。轴实例调用此方法来收集在自动生成适当范围时需要考虑的值。此方法会返回一个 BoundedValue 对象 Array。

要为 CartesianTransform 的水平轴收集重要值,请传递 0。要为垂直轴收集值,请传递 1。

参数

dimension:String — 收集值的范围。
 
requiredFields:uint — 定义此转换需要的数据。

返回
Array — 一个 BoundedValue 对象 Array。
getAxis()方法 
public function getAxis(dimension:String):IAxis

检索负责转换由 dimension 参数指定的数据维度的轴实例。如果没有预先分配轴,则会创建一个默认轴。所有维度的默认轴都是 LinearAxis,其 autoAdjust 属性设置为 false

参数

dimension:String — 其轴负责转换数据的维度。

返回
IAxis — 轴实例。

另请参见

invertTransform()方法 
public function invertTransform(... values):Array

相对于 DataTransform 坐标系将 x 坐标和 y 坐标转换为数据空间中的二维值。

参数

... values — x 和 y 位置(按该顺序)。

返回
Array — 一个包含转换后的值的 Array。
setAxis()方法 
public function setAxis(dimension:String, v:IAxis):void

将轴实例分配给转换的特定维度。轴对象由封闭图表对象分配。

参数

dimension:String — 转换的维度。
 
v:IAxis — 目标轴实例。

transformCache()方法 
public function transformCache(cache:Array, xField:String, xConvertedField:String, yField:String, yConvertedField:String):void

将一组表示数据的数值映射到屏幕坐标。此方法假设值都为数字,因此,必须使用 mapCache() 方法预先转换所有非数字的值。

参数

cache:Array — 字段中包含数据值的对象数组。此函数还使用此数组来存储转换后的数值。
 
xField:String — 用于存储 x 轴的数据值的字段。
 
xConvertedField:String — 用于存储映射的 x 屏幕坐标的字段。
 
yField:String — 用于存储 y 轴的数据值的字段。
 
yConvertedField:String — 用于存储映射的 y 屏幕坐标的字段。

事件详细信息
transformChange 事件
事件对象类型: mx.events.FlexEvent
属性 FlexEvent.type = mx.events.FlexEvent.TRANSFORM_CHANGE

在从数据空间到屏幕空间的转换发生更改时调度。发生此类更改的原因通常是进行此转换的轴发生了某种形式的更改,或者数据转换本身具有大小限制。

FlexEvent.TRANSFORM_CHANGE 常数可为 transformChange 事件定义事件对象的 type 属性值。

事件对象的属性有下列值:

属性
bubbles false
cancelable false
currentTarget 用于定义处理该事件的事件侦听器的 Object。例如,如果您使用 myButton.addEventListener() 注册某个事件侦听器,则 myButton 为 currentTarget 的值。
target 调度该事件的 Object;它不一定是侦听该事件的 Object。使用 currentTarget 属性始终可以访问侦听事件的 Object。