Highcharts-ng Обновить значения оси X

Привет, ребята, мне нужна ваша помощь. Я использую Highcharts-NG для создания диаграмм, но у меня есть одна небольшая проблема. У меня работает график, я загружаю данные в режиме реального времени на свой график, и он работает очень хорошо, но вместо значений X «1», «2», «3» каждый раз, когда я вставляю одну точку в серию, я хочу вставить метку времени по оси х. В обычных хайчартах это легко сделать с помощью функции addPoint() , но с highcharts-ng у меня нет этой функции. Может кто-нибудь, пожалуйста, помогите мне, пожалуйста?

Вот мой рабочий файл: http://jsfiddle.net/zrKEb/


person Maria Margarida Brito    schedule 25.01.2016    source источник
comment
тут лучше код поставить, чем ссылку на него.   -  person joel goldstick    schedule 25.01.2016


Ответы (2)


Вот мое решение для использования функции addPoint с директивой highcharts-ng:

$scope.chart_realtimeForceConfig = {
options: {
  chart: {
    type: 'line',
  },   
  xAxis: { 
    type: 'datetime' ,         
    labels: {
    format: '{value:%H:%M:%S %Y}'
    }
    },
},
series: [{
  name: 'Fx',
  data: [],

}, ],
func: function(chart) {
  $timeout(function() {
    chart.reflow();

  }, 300);

  $interval(function() {

    var shift = chart.series[0].data.length > 100;

    chart.series[0].addPoint([Date.now(),Math.floor(Math.random() * 100) + 1], true, shift, false);
  }, 1000);
},
loading: false

}

});

Формат даты делается в диаграмме

http://codepen.io/ruisebastiao/pen/BKmQQz

person Rui Sebastião    schedule 04.04.2016

После множества обходных путей я нашел одно решение, но не знаю, лучший ли это способ сделать то, что я хочу.

$scope.highchartsNG.xAxis.categories.push($filter('date')(new Date(), "mediumTime"));

Это переместит значение метки времени сейчас на ось X и отфильтрует его. Конечным результатом будет значение в формате 'h:mm:ss a'. Если у кого-то есть другое решение, пожалуйста, ответьте на мой вопрос.

person Maria Margarida Brito    schedule 25.01.2016