代码:
var series = projectsChart.series;
for (var i in series) {
for (var j in allProdArray) {
var x = parseInt(j);
if (x % 4 === 0) {
if (series[i].name === allProdArray[x]) {
series[i].addPoint(parseInt(allProdArray[x+3]));
series[i].update({
tooltip: {
headerFormat: '<small>{series.name}</small><table>',
pointFormat: '<tr><td>KPI Metric:</td><td><b>' + allProdArray[x+2] + '</b></td></tr>' +
'<tr><td>Desc:</td><td>' + allProdArray[x+1] + '</td></tr><tr><td>Actual:</td><td><b>{point.y}</b></td></tr>',
footerFormat: '</table>'
}
});
}
}
}
}
我是从我的highcharts中的数组动态添加点。我还在初始创建图表后动态地在x轴上添加标签,因此无法将此工具提示放在创建上,因为大多数字段都为null(未定义)。
我想要的是找到一种方法仅更新当前点的工具提示。我想这样做是因为每个点的值allProdArray[x+2]
和allProdArray[x+1]
都不同。
我目前的代码更新了整个系列的工具提示。这会导致所有数据被覆盖,并且每个点上的每个工具提示都是相同的。
任何帮助表示感谢。
编辑(更多信息):
allProdArray
中的每个项目都有不同的描述(标记为Desc:
)和指标字段(标记为KPI Metric:
)(位置[x+1]
和[x+2]
)。正如您所看到的,我循环遍历此数组以将点单独添加到图形中。我想要做的是遍历这个数组,为我创建的自定义toopltip中的每个点提供不同的描述和指标。
点值,描述和度量的位置应该都在x的相同值内。例如,如果x=1
则该点的值为x + 3 = 4
,则指标将为x + 2 = 3
,说明将为x + 1 = 2
。这就是我尝试为每个点创建自定义工具提示的原因,因为每个工具提示中每个点的值都不同。
再次,任何帮助表示赞赏。