为TeeChart(Javascript/HTML5)向CandleChart(OHLC)添加数据

为TeeChart(Javascript/HTML5)向CandleChart(OHLC)添加数据,javascript,charts,teechart,candlestick-chart,Javascript,Charts,Teechart,Candlestick Chart,我正试图为TeeChartJavaScript版本绘制一个CandleStick图表。 然而,我只找到了下面的演示。 我想了解如何添加系列(数据),而不是使用addRandom()方法。 addRandom()没有解释如何添加实际数据 如果您能提供添加Json数据的演示,那就太好了。 提前谢谢 function draw() { Chart1=new Tee.Chart("canvas"); Chart1.title.text="Candle OHLC"; var ohlc=new

我正试图为
TeeChart
JavaScript版本绘制一个
CandleStick
图表。 然而,我只找到了下面的演示。 我想了解如何添加系列(数据),而不是使用
addRandom()
方法。
addRandom(
)没有解释如何添加实际数据

如果您能提供添加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();
}
您可以在演示中找到,特别是在数据源部分

蜡烛系列应按如下方式填充:

series.add(DateTime date, double open, double high, double low, double close);
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();
}
但是,对于Javascript版本,您应该创建如下添加函数:

series.add(DateTime date, double open, double high, double low, double close);
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();
}
函数绘图(){
图表1=新的T形图(“画布”);
图表1.title.text=“蜡烛OHLC”;
var ohlc=新的三通蜡烛();
图1.addSeries(ohlc);
ohlc.add=功能(打开、关闭、高、低){
var d=此数据;
var计数;
如果(d.open)计数=d.open.length+1;否则计数=1;
d、 长度=计数;
d、 闭合=d值;
如果(d.open)d.open.length=count;否则d.open=new数组(1);
如果(d.close)d.close.length=count;否则d.close=new数组(1);
if(d.high)d.high.length=计数;else d.high=新数组(1);
if(d.low)d.low.length=计数;else d.low=新数组(1);
d、 打开[计数-1]=打开;
d、 关闭[计数-1]=关闭;
d、 高[计数-1]=高;
d、 低[计数-1]=低;
}

对于(var i=0;我非常感谢您的回答,但这些示例没有解释如何传递蜡烛的数据(OHLC)图表。正如你所知,蜡烛图表需要打开、高、低、关闭。我不知道如何将它们传递到图表。所有的演示都只显示如何将简单数据传递到条形图之类的简单图表。你能告诉我如何传递数据吗?我的意思是什么顺序?新球座蜡烛(?,?,,?,?);@JosephJung好的,我已经扩展了我的答案。再次感谢您的回答,但不确定如何将这一行源代码实现到上述代码中(函数draw();).Tee.Chart对象和Tee.Candle对象既没有series方法也没有add方法。很抱歉我缺乏相关知识。@JosephJung对延迟回复表示歉意。您应该使用Javascript版本创建自己的add方法。我已经用一个示例更新了回复。@JosephJung尝试按照此示例中的操作: