2013-10-24 17 views
0

我正在嘗試繪製一個TeeChart JavaScript版本的CandleStick圖表。 但是我只找到了下面的演示。 我想知道如何添加系列(數據),而不是使用addRandom()方法。 a addRandom()沒有解釋如何添加實際數據。將數據添加到TeeChart(Javascript/HTML5)的CandleChart(OHLC)

如果你可以提供演示與添加Json數據將是美好的。 在此先感謝。

function draw() { 
    Chart1=new Tee.Chart("canvas"); 
    Chart1.title.text="Candle OHLC"; 

    var ohlc=new Tee.Candle(); 
    Chart1.addSeries(ohlc).addRandom(20); 

    Chart1.draw(); 
} 

回答

0

您將在演示here找到populating series with JSON examples,特別是在數據源部分。

蠟燭系列應該填充這樣的:

series.add(DateTime date, double open, double high, double low, double close); 

但是,使用JavaScript版本,你應該創建附加的功能是這樣的:

function draw() { 
    Chart1=new Tee.Chart("canvas"); 
    Chart1.title.text="Candle OHLC"; 

    var ohlc=new Tee.Candle(); 
    Chart1.addSeries(ohlc); 

    ohlc.add=function(open, close, high, low) { 
    var d=this.data; 
    var count; 

    if (d.open) count=d.open.length+1; else count=1; 
    d.values.length=count; 
    d.close=d.values; 

    if (d.open) d.open.length=count; else d.open=new Array(1); 
    if (d.close) d.close.length=count; else d.close=new Array(1); 
    if (d.high) d.high.length=count; else d.high=new Array(1); 
    if (d.low) d.low.length=count; else d.low=new Array(1); 

    d.open[count-1]=open; 
    d.close[count-1]=close; 
    d.high[count-1]=high; 
    d.low[count-1]=low; 
    } 

    for (var i=0; i<5; i++) { 
    var o=25+Math.random()*100; 
    var c=o+(Math.random()*25)-12.5; 
    ohlc.add(o, c, Math.max(o,c)+Math.random()*15, Math.min(o,c)-Math.random()*15); 
    } 

    Chart1.draw(); 
} 
+0

非常感謝你的回答,但那些例子沒有解釋如何傳遞蠟燭(OHLC)圖表的數據。正如你知道的蠟燭圖需要開放,高,低,關閉。我不知道如何將它們傳遞給圖表。所有的演示只是將簡單的數據傳遞給簡單的圖表,如條形圖。你能告訴我如何傳遞數據我的意思是什麼命令?新Tee.Candle(?,?,?,?); –

+0

@JosephJung好的,我已經延長了我的回答。 –

+0

非常感謝您的答覆,但不知道如何實現上述代碼的源代碼行(function draw();)。 Tee.Chart對象和Tee.Candle對象沒有一個序列方法也沒有添加。我很抱歉我缺乏知識。 –