Highcharts具有一个可以接受回调函数的pointFormatter选项。我想在该格式化程序中使用几个变量。我怎么做?抱歉,这很明显;我是JS的新手。这是我到目前为止的内容:
chart.addSeries({
id: "buy1",
name: "Buys for SD #1",
type: "scatter",
color: "#23DA47",
data: buySellCleaner(buysPoints1),
tooltip: {
pointFormatter: function(priceArr, buysPoints1) {
return "Time" + "<b>" + unixToEST(this.x) + "</b>" + "<br/>Price: <b>" + priceArr[buySellCleaner(buysPoints1)[this.series.data.indexOf( this.point )][2]][1] + "</b>";
}
},
});
很明显priceArr和buysPoints1没有在范围内定义...我该如何解决?
答案 0 :(得分:2)
如果它们在chart.addSeries
的范围内,则它们应该在pointFormatter回调函数的范围内。
在pointformatter examples中,highcharts似乎没有将任何参数传递给回调。
您正在做的是向pointformatter
回调函数添加不必要的参数,并用priceArr
覆盖buysPoints1
和undefined
的先前值。它们是undefined
,因为当highcharts为您调用pointformatter回调时,它不会将任何值传递给调用,因此您的参数(priceArr和buysPoints1)在函数内部未定义。
尝试从回调参数中删除它们。
pointFormatter: function() {
return "Time" + "<b>" + unixToEST(this.x) + "</b>" + "<br/>Price: <b>" + priceArr[buySellCleaner(buysPoints1)[this.series.data.indexOf( this.point )][2]][1] + "</b>";
}