Javascript Highcharts:将附加信息传递到工具提示

Javascript Highcharts:将附加信息传递到工具提示,javascript,jquery,highcharts,Javascript,Jquery,Highcharts,我有一个数据点数组,我正在传递给一个Highcharts图表,看起来像 mydata = [{ x: 1, y: 3, nameList: ["name1", "name2"] }, { x: 2, y: 4, nameList: ["name3", "name4"] }] 我构建的图表如下所示: $("#chart").highcharts("StockChart", { series: [{ data: mydata

我有一个数据点数组,我正在传递给一个Highcharts图表,看起来像

mydata = [{
    x: 1,
    y: 3,
    nameList: ["name1", "name2"]
}, {
    x: 2,
    y: 4,
    nameList: ["name3", "name4"]
}]
我构建的图表如下所示:

$("#chart").highcharts("StockChart", {
    series: [{
        data: mydata
    }, {
        data: yourdata
    }]
});
现在,我希望能够从共享工具提示中访问名称列表数组,我将尝试如下操作:

tooltip: {
    formatter: function() {
        var s = "";
        $.each(this.points, function(i, point) {
            s += point.point.nameList;
        });
        return s;
    },
    shared: true
}
但是当使用
console.log(point)
检查Firebug中的point对象时,我似乎无法在其中的任何位置找到名称列表条目。如何在共享系列工具提示中访问此辅助信息?非常感谢您的帮助。

我可以在这里看到:

tooltip: {
    formatter: function() {
        var s = "";
        console.log(this.points[0].point.nameList); // ["name1", "name2"] 
        $.each(this.points, function(i, point) {
            s += point.point.nameList;
        });
        return s;
    },
    shared: true
}
尤里卡

默认情况下,Highcharts将接受一系列数据的几种不同类型的输入,包括

  • 一组数值。在这种情况下,将解释数值 将自动计算y值和x值,从0和0开始 递增1,或从绘图选项中给定的pointStart和pointInterval开始递增
  • 具有两个值的数组数组。在这种情况下,第一个值是x值和 第二个是y值。如果第一个值是字符串,则将其作为 点,并按照上述规则递增x值
  • 具有命名值的对象数组。在这种情况下,对象是点配置 对象,如下所示
  • 但是,类型3的处理方式与类型1和2不同:如果数组大于turboThreshold设置,则不会渲染类型3的数组。因此,为了解决我的问题,我只需要提高turboThreshold设置,如下所示:

    ...
    plotOptions: {
        line: {
            turboThreshold: longestArray.length + 1
        }
    },
    ...
    

    并且图表正确地呈现了
    longestArray
    数据。万岁!唯一的缺点是,由于“在长序列中进行昂贵的数据检查和索引”,需要花费相当长的时间来呈现更长数组的数据。如果你们中的任何人知道我如何能够绕过此检查或以其他方式加快此数据的处理,如果您能告诉我如何操作,我将不胜感激。

    您能向我们展示更多代码吗?比如你是怎么检查的?我有一个怀疑,但我不确定。Live example运行良好:嗯,所以经过一些额外的测试,问题似乎在于我正在处理的数组的长度。我看到了turboThreshold选项,但改变它似乎没有帮助。我会通知你们的。谢谢你的快速回复,很抱歉回来这么晚。编辑:我正在使用的数组的长度在500到3000之间。一种可能的重复是使用一个外部数组,并通过当前点的x值索引到其中,但我不确定如何执行此操作。。。也许我应该就此再问一个问题?