Javascript Highcharts-在以后将系列添加到绘图时添加Axys属性
在highcharts中,我使用xAxys和yAxis属性格式化插入的数据。两个Axy使用的代码相同,因此我只发布其中一个:Javascript Highcharts-在以后将系列添加到绘图时添加Axys属性,javascript,jquery,highcharts,Javascript,Jquery,Highcharts,在highcharts中,我使用xAxys和yAxis属性格式化插入的数据。两个Axy使用的代码相同,因此我只发布其中一个: $('#containers').highcharts({ .... .... yAxis: { tickPositioner: function () { var positions = [], tick = Math.floor(this.dataMin), increm
$('#containers').highcharts({
....
....
yAxis: {
tickPositioner: function () {
var positions = [],
tick = Math.floor(this.dataMin),
increment = Math.ceil((this.dataMax - this.dataMin) / 6);
for (; tick - increment <= this.dataMax; tick += increment)
{
positions.push(tick);
}
return positions;
}
},
....
series: []
});
这段代码工作得很好,而我不需要操作上面的数据,我可以直接将其声明为highcharts选项。如果我选择使用addSeries
,即使我对xAxys
和yAxys
选项进行注释,它也不会起作用
问题:在数据操作的情况下,如何使用xAxys和yAxys属性
这里有一把小提琴来恢复我的代码:在没有数据的初始图表加载上,你的
滴答定位器
函数变成了一个无限循环(它在我身上崩溃了)。在初始负载时,只需防止出现这种情况:
tickPositioner: function () {
if (this.dataMax == null){
return []; // prevents infinite loop...
}
var positions = [],
tick = Math.floor(this.dataMin),
increment = Math.ceil((this.dataMax - this.dataMin) / 6);
for (; tick - increment <= this.dataMax; tick += increment) {
positions.push(tick);
}
return positions;
}
更新
tickPositioner: function () {
if (this.dataMax == null){
return []; // prevents infinite loop...
}
var positions = [],
tick = Math.floor(this.dataMin),
increment = Math.ceil((this.dataMax - this.dataMin) / 6);
for (; tick - increment <= this.dataMax; tick += increment) {
positions.push(tick);
}
return positions;
}
for (i in data) {
chart.addSeries({
data: data[i]
}, false); // do not redraw after every series add
}
chart.redraw(); // redraw chart when done