高图:热点地图的共享工具提示

时间:2020-03-21 15:32:36

标签: javascript highcharts heatmap

是否可以通过Highcharts演示页面中的示例创建带有共享工具提示的热图:

Highcharts.chart('container', {

    xAxis: {
        categories: [
            'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
            'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'
        ]
    },

    tooltip: {
        shared: true,
        crosshairs: true
    },

    series: [{
        data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]
    }, {
        data: [216.4, 194.1, 95.6, 54.4, 29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5]
    }]
});
<!-- Highcharts demo code from https://jsfiddle.net/gh/get/library/pure/highcharts/highcharts/tree/master/samples/highcharts/tooltip/shared-x-crosshair/ -->

<script src="https://code.highcharts.com/highcharts.js"></script>
<div id="container" style="height: 400px"></div>

共享的热图工具提示意味着每个类别都没有一个工具提示,而是每个x点只有一个工具提示来显示所有类别的值。

sharedTooltip选项不适用于热图。那么,还有另一种方法来获取Highcharts中的热图共享工具提示吗?

谢谢

1 个答案:

答案 0 :(得分:0)

很遗憾,您已经注意到热图系列中未实现 tooltip.shared 功能。但是,您应该可以使用 tooltip.formatter 回调显示每个类别的所有值。

演示:https://jsfiddle.net/BlackLabel/yzxenqfa/

  tooltip: {
    formatter: function() {
      var series = this.series,
        output = '<b>' + getPointCategoryName(this.point, 'x') + '</b> sold <br><b>';
      series.points.forEach(p => {
        if (p.x === this.point.x) {
          output += '<br>' +
            p.value + '</b> items on<b> ' + getPointCategoryName(p, 'y') + '</b>'
        }
      })
      return output
    }
  },

API:https://api.highcharts.com/highcharts/tooltip.formatter


我知道整列都没有突出显示-这会干扰colorAxis的可读性。