Highcharts 隐藏highchart系列非常缓慢

Highcharts 隐藏highchart系列非常缓慢,highcharts,Highcharts,我有一个highchart显示多个系列,每个系列包含100多个数据点 我有一个UI,其中包含每个系列的复选框,单击该复选框可调用series.hide()或series.show()来切换每行的隐藏/显示 我的问题是隐藏和显示速度非常慢,以至于在处理上一个复选框时,我无法选中其中一个复选框 有人知道怎么处理吗? 感谢如中所述: 每次调用show或hide时,highcharts都会绘制 禁用和启用重画功能对我有效 var _redraw = this.chart.redraw; this.c

我有一个highchart显示多个系列,每个系列包含100多个数据点 我有一个UI,其中包含每个系列的复选框,单击该复选框可调用series.hide()或series.show()来切换每行的隐藏/显示 我的问题是隐藏和显示速度非常慢,以至于在处理上一个复选框时,我无法选中其中一个复选框 有人知道怎么处理吗? 感谢

如中所述:

  • 每次调用show或hide时,highcharts都会绘制
  • 禁用和启用重画功能对我有效

    var _redraw = this.chart.redraw;
    this.chart.redraw = function(){};
    
    //do work
    
    this.chart.redraw = _redraw;
    this.chart.redraw();
    

不要为每个系列调用
hide()
,而是调用
setVisible(false,false)。第二个参数是
重画
参数,您可以避免对每个系列造成重画(速度较慢)

然后,在更改完可见性后,调用
chart.redraw()
一次


在调用
Highcharts.chart()之前为隐藏的系列添加
可见:false
怎么样? 请参阅参考文献:1。二,

在我的案例中,与以下方法相比,上述方法表现出最佳的性能:

  • series.hide()
  • setVisible(false,false)
  • setVisible(false,true)
    setVisible(false,false);重画()

  • 有演示吗?它对我来说很好。是的-但是我如何发布一个大文件来stackOverflowUse JSFIDLE并只提供必要的代码,或者尝试使用一些highcharts演示重现这个问题。你使用哪个浏览器?它是任何浏览器-IE、FF、Chrome