我正在考虑基于dygraph的HTML5应用的实现,该应用显示了多个类似于此应用的图表:
http://www.triplespark.net/elec/pdev/cpld/ise-pfsim/ise-screen-sim-result.png

我想知道某人的意见,该人对使用dygraph进行多重情节有一定的经验。如在上面的链接中可见,地块应彼此叠放,地块应可移动(通过复选框),并且只能水平调整大小(放大和缩小)。

我基本上可以看到两种方式:

1)按照建议here绘制一个大图,如下所示:

http://dygraphs.com/tests/color-visibility.html

2)在不同的div中绘制多个图(我最喜欢的选项),并使它们保持同步,如下所示:

http://dygraphs.com/tests/synchronize.html

注意:

1)我不想在添加或删除一个图时重画所有图。

2)地块可以有很多点(> 1M点)

我的第二个问题是关于情节类型的问题。我想知道是否有人可以看到如何给我提示有关data_bus [0:7]“可折叠”图的实现

任何建议都很好。我知道这个问题是通用的,我打算用一个最后的例子来扩展这个问题,以显示该问题的解决方案。

问候
法布里佐

最佳答案

这就是我所做的。不是最优雅的,但是应该做的。

‹script›
data= [
      [new Date('2014/09/26 05:33 UTC'),1, 5],
      [new Date('2014/09/26 05:34 UTC'),2, 6],
      [new Date('2014/09/26 05:35 UTC'),3, 7],
      [new Date('2014/09/26 05:36 UTC'),4, 8]];
function plot(){
  var x=[0,0];
  if(document.opt.normal.checked==true)
  {
    x[0]=1;
  }
  if(document.opt.mean.checked==true)
  {
    x[1]=1;
  }
  var temp=[];
  for(var i=0;i‹data.length;i++)
  {
     temp.push([data[i][0]]);
     if(x[0]==1) temp[i].push(data[i][1]);
     if(x[1]==1) temp[i].push(data[i][1]);
  }
  g= new Dygraph(document.getElementById('chartarea'),temp);
}

‹/script›
‹body onload="plot();"›
    ‹div id="chartarea"›‹/div›
    ‹form name="opt" action="#"x›
        ‹input type="checkbox" name="normal" onclick="plot();" checked/›‹span›y1‹/span›
        ‹br›‹input type="checkbox" name="mean" onclick="plot();"/›‹span›y2‹/span›
‹/body›


编辑:刚刚发现:dygraph setVisibility方法可用于避免为每个切换重新创建dygraph。

07-24 16:24