Добавление данных в CandleChart(OHLC) для TeeChart(Javascript/HTML5)

Я пытаюсь нарисовать CandleStick график для TeeChart Версия JavaScript. Однако я нашел только демо ниже. Я хотел бы узнать, как добавить серию (данные) вместо использования 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();
}

1 ответ

Решение

Вы можете найти серию с примерами JSON в демонстрационной версии, особенно в разделе " Источники данных ".

Серия свечей должна быть заполнена так:

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();
}
Другие вопросы по тегам