热图:在mouseOver

时间:2017-01-04 15:27:29

标签: javascript highcharts

当用户将鼠标悬停在热图单元格上时,我想使用一些外部DOM元素来显示一些信息。

因此我使用plotOptions.heatmap.mouseOver属性来注册我的回调函数。

但是,我正面临着使用我收到的数据获取悬停单元的基础数据的问题from the event

正如文档所述,this指的是回调中的完整系列,但我如何知道哪个系列的单元格悬停? this.points包含此系列的所有单元格/点,但我如何知道悬停的单元格/正确索引?是否在悬停事件中说明了这些信息?

有人可以帮助我,也许可以指出正确的属性吗?

1 个答案:

答案 0 :(得分:1)

我建议使用point.events挂钩代替:

plotOptions: {
  series: {
    point: {
      events: {
        mouseOver: function() {
          var chart = this.series.chart;
          if (!chart.lbl) {
            chart.lbl = chart.renderer.label('')
              .attr({
                padding: 10,
                r: 10,
                fill: Highcharts.getOptions().colors[1]
              })
              .css({
                color: '#FFFFFF'
              })
              .add();
          }
          chart.lbl
            .show()
            .attr({
              text: 'x: ' + this.x + ', y: ' + this.y
            });
        }
      }
    },
    events: {
      mouseOut: function() {
        if (this.chart.lbl) {
          this.chart.lbl.hide();
        }
      }
    }
  }
},

使用此示例fiddle和热图。