2013-10-03 33 views
1

我正在考慮一個HTML5應用的基礎上dygraph實施,顯示多條曲線像這樣的應用程序: http://www.triplespark.net/elec/pdev/cpld/ise-pfsim/ise-screen-sim-result.pngDygraph多條曲線 - 開啓並關閉

我想知道別人誰擁有的意見一些有關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]

的「可摺疊」圖的實現的暗示任何建議都會很棒。我知道這個問題是通用的,我打算用最後一個例子來展示這個問題,這個例子將會解決這個問題。

問候 法布里奇奧

+0

您可能會發現http://dygraphs.com/tests/unboxed-spark.html指導您擺脫圖表的所有座標軸和其他非數據元素。剩下的問題應該可以通過基本的CSS和JS來實現。 – danvk

+0

好吧,我剛剛完成了它的第二個版本,它看起來像這個https://dl.dropboxusercontent.com/u/32964564/vcdr_02/index.html我現在想知道如果我應該使用一個單一的畫布和幾個情節,而不是每個情節一個畫布。它在性能方面有很大的不同嗎? – Fabrizio

回答

0

這就是我所做的。不是最優雅的,但應該做的工作。

‹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。