还记得选择删除Flex Chart项目这篇文章吗?本文是它的功能延伸。我们将使用区域选择功能实现Flex Chart的缩放。
功能:
- 在Chart上拖拉一个矩形范围可对单个或多个数据系列进行缩放;
- 在Chart上双击将恢复到缩放前的状态。
从本质上讲,我们只是通过区域选择得到新的dataProvider,再提供给Chart,从而模拟了Chart缩放。有几个小技巧值得一提:
- 使用ChartItemEvent的Change事件而不用itemMouseUp事件可以避免在空白处拖拉选择时不缩放Chart。
- 使用canReset状态变量确保只有进行了缩放后才执行还原。
- 对于DateTimeAxis,设置
alignLabelsToUnits="false"
,设置LineSeries的项目渲染器为CircleItemRenderer,这样即使缩放后只有一个点,在舞台 上也可见,并且对应的Label也可见。