工具提示中的高图总计

时间:2013-02-05 21:32:57

标签: tooltip highcharts

我正在使用此代码显示共享工具提示:

tooltip: {
    crosshairs: true,
    shared: true,
    headerFormat: 'KW {point.key}<table>',
    pointFormat: '<tr><td style=\"color: {series.color}\">{series.name}: <b></td><td>{point.y} USD</b></td></tr>',
    useHTML: true,
    footerFormat: '</table>',
    valueDecimals: 2
},

现在我想将所有point.y值添加为该点的总值。但是我如何循环每个系列的point.y来计算总值呢?

3 个答案:

答案 0 :(得分:11)

兴奋地看到示例:http://jsfiddle.net/65bpvudh/7/

tooltip: {
    formatter: function() {
        var s = '<b>'+ this.x +'</b>',
            sum = 0;

        $.each(this.points, function(i, point) {
            s += '<br/>'+ point.series.name +': '+
                point.y +'m';
            sum += point.y;
        });

        s += '<br/>Sum: '+sum

        return s;
    },
    shared: true
},

答案 1 :(得分:4)

更简单,使用点的总属性:

tooltip: {
    formatter: function() {
        var s = '<b>'+ this.x +'</b>';
        $.each(this.points, function(i, point) {
            s += '<br/>'+ point.series.name +': '+ point.y;
        });
        s += '<br/>Total: '+ this.points[0].total
        return s;
    },
    shared: true
},

选中此reference

答案 2 :(得分:3)

使用footerFormat属性(自2.2版开始)与{point.total}一起轻松显示总数,而无需重新定义完整的formatter函数:

tooltip: {
    footerFormat: 'Sum: <b>{point.total}</b>',
    shared: true,
},