Javascript Highcharts:将附加信息传递到工具提示
我有一个数据点数组,我正在传递给一个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
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将接受一系列数据的几种不同类型的输入,包括
...
plotOptions: {
line: {
turboThreshold: longestArray.length + 1
}
},
...
并且图表正确地呈现了
longestArray
数据。万岁!唯一的缺点是,由于“在长序列中进行昂贵的数据检查和索引”,需要花费相当长的时间来呈现更长数组的数据。如果你们中的任何人知道我如何能够绕过此检查或以其他方式加快此数据的处理,如果您能告诉我如何操作,我将不胜感激。您能向我们展示更多代码吗?比如你是怎么检查的?我有一个怀疑,但我不确定。Live example运行良好:嗯,所以经过一些额外的测试,问题似乎在于我正在处理的数组的长度。我看到了turboThreshold选项,但改变它似乎没有帮助。我会通知你们的。谢谢你的快速回复,很抱歉回来这么晚。编辑:我正在使用的数组的长度在500到3000之间。一种可能的重复是使用一个外部数组,并通过当前点的x值索引到其中,但我不确定如何执行此操作。。。也许我应该就此再问一个问题?