原文 http://www.riafan.com/sync-datatips-for-flex-chart/

图表数据提示的同步不仅包含单个图表内多个系列的数据提示的同步,也包含多个图表的数据提示的同步。有时图表纵轴的数值差别太大,放在一个 Chart中显示为多个系列不太合适。一种办法是使用多个纵轴,但轴多了界面会乱。另外一种办法是将不同的系列放在不同的Chart中显示。这种方法更常 用,但多个图表的数据提示同步相对比较麻烦。

首先应该实现鼠标横向跟踪的功能:在整个绘图区都能显示数据提示,只要给定坐标的横轴值与目标数据点横轴值相同,就能跟踪到鼠标指针下最近的数据点 提示。要实现这一功能,最好的方法是覆写 findDataPoints方法。只需要改写dist变量的算法即可:var dist:Number = (v.x – x)*(v.x – x);只用横轴值来计算,所以能沿横轴跟踪;覆写前是var dist:Number = (v.x – x)*(v.x – x) + (v.y – y)*(v.y -y);用了横纵轴值来计算,所以只有当鼠标指针移动到目标数据点上时,才能显示数据点提示。好了,测试一下鼠标横向跟踪功能。如果图表中有多个系列,可 以看到此时图表内部的数据提示是同步的。

当然,本实例有多个图表,要同步所有图表的数据提示。也就是说在一个图表上移动鼠标指针时,不仅要在该图表上显示数据提示,还要同时显示其它图表上对应的数据提示。我的解决思路来自以前写的一篇文章:使用dataTipItems显示特定的数据提示。代码如下:

1
2
3
4
5
6
7
8
9
public function addDataTip(data:Object, index:int):void{
  var item:LineSeriesItem = new LineSeriesItem(this, data, index);
  var arr:Array = new Array();
  arr.push(item);
  this.dataTipItems = arr;
}
public function removeDataTip():void{
  this.dataTipItems = [];
}

鼠标指移进图表时,其它图表的系列调用addDataTip方法来新增数据提示;鼠标指移出图表时,其它图表的系列调用removeDataTip方法来删除数据提示,从而同步多个Flex chart的数据提示。

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

同步Flex Chart的数据提示的更多相关文章

  1. 用Rsync实现windows下同步linux服务器的数据

    一:环境 1.服务端:Red Hat Enterprise Linux Server release 6.4 (Santiago) 2.客户端:windows7旗舰版64位 3.同步对象:测试数据 4 ...

  2. 超酷HTML5 Canvas图表应用Chart.js自定义提示折线图

    超酷HTML5 Canvas图表应用Chart.js自定义提示折线图 效果预览 实例代码 <div class="htmleaf-container"> <div ...

  3. svn 备份后双机同步热备失效,提示 W200007 target server does not support atomic revision property edits svynsync:E170009

    svn 备份后双机同步热备失效,提示 W200007 target server does not support atomic revision property edits; consider u ...

  4. tomcat cluster session同步时保存map数据遇到的问题

    Tomcat Cluster官网:https://tomcat.apache.org/tomcat-7.0-doc/cluster-howto.html(tomcat7.0) 场景: tomcat1 ...

  5. Effective Java 第三版——78. 同步访问共享的可变数据

    Tips 书中的源代码地址:https://github.com/jbloch/effective-java-3e-source-code 注意,书中的有些代码里方法是基于Java 9 API中的,所 ...

  6. 推荐一个学习Flex chart的好网站

    推荐一个学习Flex chart的好网站 2013-03-04 14:16:56|  分类: Flex |  标签: |字号大中小 订阅     推荐一个学习Flex chart的好网站 最近在做一个 ...

  7. python的flex服务端数据接口开发

    python的flex服务端数据接口开发 python 如果给flex提供服务端,需要提供一个网关和一个可供客户端(flex)调用的类.这方面我更加推荐用twisted来写这个网关,因为twisted ...

  8. 同步a表的数据到 b表

    //同步a表的数据到 b表UPDATE a t1 JOIN b t2 ON t1.finance_id = t2.idSET t1.a_id = t2.a_id,t1.b_name = t2.b_na ...

  9. Python 一键同步windows和linux数据(基于pscp.exe)

    outline 项目中需要把 windows server 上的数据同步到 linux server,方法很多,这里记录下自己采用的一种比较简单的方法. 准备工作 首先确保你 windows serv ...

随机推荐

  1. Python闭包及装饰器

    Python闭包 先看一个例子: def outer(x): def inner(y): return x+y return innder add = outer(8) print add(6) 我们 ...

  2. LayoutInflater的获取方式

    1.LayoutInflater是什么? 通俗而讲,就是将xml中定义的布局找出来. 2.获取LayoutInflater的三种方式   1. LayoutInflater inflater = ge ...

  3. MySQL入门转载

    21分钟 MySQL 入门教程 http://www.cnblogs.com/mr-wid/archive/2013/05/09/3068229.html 目录 一.MySQL的相关概念介绍 二.Wi ...

  4. zeromq-python使用

    安装参考saltstack编译安装.note 官方使用文档: http://zguide.zeromq.org/page:all 中文翻译文档: http://iyuan.iteye.com/blog ...

  5. python笔记之Cmd模块

    python笔记之Cmd模块 Cmd类型提供了一个创建命令行解析器的框架,默认情况下,它使用readline来进行交互式操作.命令行编辑和命令完成. 使用cmd创建的命令行解释器循环读取输入的所有行并 ...

  6. 烧饼(nyoj779)

    描述烧饼有两面,要做好一个兰州烧饼,要两面都弄热.当然,一次只能弄一个的话,效率就太低了.有这么一个大平底锅,一次可以同时放入k个兰州烧饼,一分钟能做好一面.而现在有n个兰州烧饼,至少需要多少分钟才能 ...

  7. SQL连接方式(内连接,外连接,交叉连接)

    1.内连接.左连接.右连接.全连接介绍 內连接仅选出两张表中互相匹配的记录.因此,这会导致有时我们需要的记录没有包含进来.内部连接是两个表中都必须有连接字段的对应值的记录,数据才能检索出来.   左连 ...

  8. (续)线性表之双向链表(C语言实现)

    在前文实现单向链表的基本操作下,本文实现双向链表的基本操作. 双向链表与单链表差异,是双向链表结点中有前向指针和后向指针.所以在插入和删除新结点元素时候不见要考虑后向指针还要考虑前向指针. 以下是双向 ...

  9. 【HDU】4092 Nice boat(多校第四场1006) ——线段树 懒惰标记

    Nice boat Time Limit: 30000/15000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) To ...

  10. 关于App的一些迷思以及一些动画效果开源库的推荐

    http://www.open-open.com/lib/view/open1427856817396.html