同步Flotr2 Chart的鼠标跟踪

同步Flotr2 Chart的鼠标跟踪比起同步Flex Chart的数据提示要麻烦,而且Flotr与Flotr2调用的API还不一样。Flotr中的“flotr:hit”事件对象有一个memo属性,而Flotr2中的“flotr:hit”事件对象其实就是一个nearest对象。不仅如此,在Flotr2中调用graph.hit(mouse);会报错,得使用graph.hit.drawMouseTrack(n);graph.hit.drawHit(n);来实现,详见本实例中的doHit函数:

function doHit(graph, e, container) {
  var n = Flotr.clone(e);
  graph.hit.clearHit();
  var offset = Flotr.DOM.position(container);
  var xaxis = graph.axes.x;
  var yaxis = graph.axes.y;
  var s = graph.series[0]; 
  var index = n.index;
  var point = s.data[index];
  n.xaxis = xaxis;
  n.yaxis = yaxis;
  n.x = point[0];
  n.y = point[1];
  graph.hit.drawMouseTrack(n);
  graph.hit.drawHit(n);
}

点击此处查看该实例最终效果。

发表评论