【问题标题】:Highcharts: Shared tooltip for heatmapHighcharts:热图的共享工具提示
【发布时间】:2020-03-21 15:32:36
【问题描述】:

是否可以像在 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 中获取热图的共享工具提示吗?

谢谢

【问题讨论】:

    标签: javascript highcharts heatmap


    【解决方案1】:

    很遗憾,您已经注意到 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 的可读性。

    【讨论】:

    • 谢谢。这似乎是一个简单的解决方案。
    猜你喜欢
    • 2014-03-04
    • 2012-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多