我正在考虑基于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。