Highcharts:如何访问“的格式化程序中的范围值”;columnrange“;类型?

Highcharts:如何访问“的格式化程序中的范围值”;columnrange“;类型?,highcharts,Highcharts,我想自定义Highcharts图表的工具提示。y轴为“columnrange”类型,即y值有一个间隔: series: [{ data: [ [-0.547571175, 0.401498266], [-0.960011899, 0.444655955], [-0.660727717, 0.862639688], [-0.446911722, 0.660380453],

我想自定义Highcharts图表的工具提示。y轴为“columnrange”类型,即y值有一个间隔:

    series: [{
        data: [
            [-0.547571175, 0.401498266],
            [-0.960011899, 0.444655955],
            [-0.660727717, 0.862639688],
            [-0.446911722, 0.660380453],
            [-0.863925256, 0.619544707],
               .......
        ]
    }]
工具提示格式设置程序应如下所示:

    tooltip: {
        formatter: function() {
            var point = this.points[0];
            return '<b>'+ point.x +'</b><br />Interval:'+ point.low +' - '+ point.high;
        },
        shared: true
    }
工具提示:{
格式化程序:函数(){
var point=此点[0];
返回'+point.x+'
间隔:'+point.low+'-'+point.high; }, 分享:真的 }
但未定义
point.low
point.high
。。。如何获得这些低/高值


在这里,您可以找到一个示例图:

它们不就是分别用于低和高的
点[0]
点[1]

试试这个,对于您的格式化程序函数:

formatter: function() {
    var lowPoint = getLow(this.series.data, 'x');
    var highPoint = getHigh(this.series.data, 'x');
    return '<b>'+ this.x +'</b><br />Interval:'+ lowPoint +' - '+ highPoint;
}

下面是要演示的小提琴:

此代码适用于工具提示的格式化程序:

tooltip: {
    formatter: function() {
        var point = this.points[0];
        return '<b>'+ point.x +'</b><br />Interval:'+ point.series.data[0].low +' - '+ point.series.data[0].high;
    },
    shared: true
}
工具提示:{
格式化程序:函数(){
var point=此点[0];
返回'+point.x+'
间隔:'+point.series.data[0]。低+'-'+point.series.data[0]。高; }, 分享:真的 }

请参见此处获取示例:

如果在工具提示中使用共享选项,则需要使用此.points[0]等,如果禁用了共享选项,则应使用此.point

看看共享的示例

而不是分享


要使用基本pointFormat属性,可以执行以下操作:

tooltip: { pointFormat: '{point.low}' }

否,点[1]未定义。如果有第二个系列,我想它会被定义……我只有一个系列,但它属于“columnrange”类型。即数据由每个点的最小值和最大值对组成。看到这里的示例:@user2092607像这样吗?我用过你的小提琴,现在它显示了音程的低点和高点。这就是你要找的吗?我最初对你的问题的解释是,我认为你想要所有间隔中的最低点,所有间隔中的最高点……你的格式化程序接缝不要更改工具提示。您在图表中看到的是默认值(默认情况下显示低点/高点)..@user2092607所以您希望所有区间的最高点和最低点?很抱歉,我很难理解您想要在工具tipI中显示什么信息,只是想要显示间隔范围。这就是默认格式化程序所做的。但是我想修改一下。如果查看格式化程序示例中的返回字符串,并将其与图表中显示的工具提示进行比较,您将看到格式化程序无法工作。它仍然是工具提示中显示的默认字符串。正如我看到的工具提示显示的是您的低/高值,所以我不确定是什么错了?您看到的是默认工具提示。如果我想自定义它,我需要定义自己的格式化程序。因此,我需要访问低/高值。看看我自己的答案:
point.series.data[0].low
…我知道这个答案是3年前的,但细节已经改变了。tooltip.formatter现在是tooltip.pointFormatter。而且这个通过的已经是一个点了。这个低,这个高。此.point.low未定义。
 tooltip: {
        shared:true,
        valueSuffix: '',
        formatter:function(){

            return 'LOW: '+this.points[0].point.low+' HIGH: '+this.points[0].point.high ;
        }
    },
tooltip: {
        valueSuffix: '',
        formatter:function(){

            return 'LOW: '+this.point.low+' HIGH: '+this.point.high;
        }
    },
tooltip: { pointFormat: '{point.low}' }