LinearAxis高级应用

Flex中的DateTimeAxis确实很强大,不过它要求数据很有规律,比如每天/小时取一条数据,因此适合用在股票图表中。但对没有规律的交易数据,如债券、远期,用DateTimeAxis生成的轴标签始终是均匀分布的,很多轴标签根本没什么意义,这是因为DateTimeAxis类沿图表轴在最大值和最小值之间均匀地映射时间值,因此难免轴标签会找不到对应的图表项目。而LinearAxis均匀映射数值,可以避免这种情况的发生。

点击此处查看该实例最终效果,点击此处下载该实例的源码。

在AreaChartEx.mxml中,我们将AreaSeries的属性xField设置为index,这是因为LinearAxis中横坐标必须是数值。当然最终会横坐标上会显示日期标签,因此我们使用labelFunction根据index获取对应的日期。不同的日期范围对应不同的日期格式,当日期范围改变时,日期标签相应改变,因此我们在DateTimeAxisEx.mxml中自定义了span属性,当日期范围改变时,会派发axisChange事件通知轴改变标签。值得注意地是,在同一日期格式下可能重复显示日期标签。因此我们完全覆写了buildLabelCache()方法。所有的日期标签是用labelCache数组来管理的,只有当前标签与下一日期标签和上一标签的文本不相同时,才显示出来。filterLabels()方法用来移除间隔太近容易重叠的标签,同时保证首尾标签图表两端。

上一篇上一篇: Flex Hero预览版发布
下一篇下一篇: 几本Flash Game的电子本下载
来自文章来自: 本站原创
引用引用通告: 查看所有引用 | 我要引用此文章
标签Tags: Chart
相关相关日志:
评论: 9 | 引用: 0 | 查看次数: -
引用effort[2011-11-11 05:21 PM | 访问 http://skykill.51.com | Mail To:skykill2009@163.com | 125.70.95.16 | 删除 | 取消审核 | 回复回复]
[正在加载评论信息,请稍候...]
引用effort[2011-11-11 03:01 PM | 访问 http://skykill.51.com | Mail To:skykill2009@163.com | 125.70.95.16 | 删除 | 取消审核 | 回复回复]
[正在加载评论信息,请稍候...]
引用effort[2011-11-11 10:20 AM | 访问 http://skykill.51.com | Mail To:skykill2009@163.com | 125.70.95.16 | 删除 | 取消审核 | 回复回复]
[正在加载评论信息,请稍候...]
引用effort[2011-11-10 04:19 PM | 访问 http://skykill.51.com | Mail To:skykill2009@163.com | 125.70.95.16 | 删除 | 取消审核 | 回复回复]
[正在加载评论信息,请稍候...]
引用kinglo[2011-01-14 10:01 AM | 无网站 | 无Mail | 218.80.220.74 | 删除 | 取消审核 | 回复回复]
[正在加载评论信息,请稍候...]
发表评论
昵 称:
密 码: 游客发言不需要密码.
邮 箱: 邮件地址支持Gravatar头像,邮箱地址不会公开.
网 址: 输入网址便于回访.
内 容:
验证码:
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 1000 字 | UBB代码 开启 | [img]标签 关闭