Javascript flot堆叠条形图在使用“增长”时显示隐藏

Javascript flot堆叠条形图在使用“增长”时显示隐藏,javascript,flot,Javascript,Flot,在条形图上使用“生长为动画”时,“显示隐藏”不起作用 var d1=[]; 对于(var i=0;i两个问题: 1) 您需要使用所有选项执行完整的replot,替换 somePlot.setData(someData); somePlot.setupGrid(); somePlot.draw(); 与 在togglePlot()函数中 2) 如果在动画完成之前再次切换,则会得到损坏的数据。(因为对somePlot.getData();的调用获取的是当前动画数据,而不是最终数据。)您可以通过使

在条形图上使用“生长为动画”时,“显示隐藏”不起作用

var d1=[];
对于(var i=0;i两个问题:

1) 您需要使用所有选项执行完整的replot,替换

somePlot.setData(someData);
somePlot.setupGrid();
somePlot.draw();

togglePlot()函数中

2) 如果在动画完成之前再次切换,则会得到损坏的数据。(因为对
somePlot.getData();
的调用获取的是当前动画数据,而不是最终数据。)您可以通过使用超时禁用切换来防止这种情况:

togglePlot = function(seriesIdx) {

  if (timeOut) {
    return;
  }
  timeOut = true;

  ... // rest of the code

  setTimeout(function() {
    timeOut = false;
  }, 2000);
}
有关完整代码,请参见下面更新的代码段:

var d1=[];
对于(var i=0;i两个问题:

1) 您需要使用所有选项执行完整的replot,替换

somePlot.setData(someData);
somePlot.setupGrid();
somePlot.draw();

togglePlot()函数中

2) 如果在动画完成之前再次切换,则会得到损坏的数据。(因为对
somePlot.getData();
的调用获取的是当前动画数据,而不是最终数据。)您可以通过使用超时禁用切换来防止这种情况:

togglePlot = function(seriesIdx) {

  if (timeOut) {
    return;
  }
  timeOut = true;

  ... // rest of the code

  setTimeout(function() {
    timeOut = false;
  }, 2000);
}
有关完整代码,请参见下面更新的代码段:

var d1=[];

对于(var i=0;i)你说的“显示隐藏”是什么意思?你说的“显示隐藏”是什么意思?用额外代码段更新的问题对我有效,如果单击太早,只需单击两次。超时时间为2000毫秒,与“成长”动画的持续时间相同,但动画完成速度快于切换的超时时间。您可以尝试稍微缩短超时时间。如果我缩短动画超时时间,我应该缩短时间out duration?更新了带有额外代码段的问题对我来说很有效,如果单击得太早,您只需单击两次。超时时间为2000毫秒,与“成长”动画的持续时间相同,但动画完成速度快于切换的超时时间。您可以尝试稍微缩短超时时间。如果我缩短动画超时时间,我应该导出超时持续时间?