0

Я хочу добавить вертикальный «Теперь» -маркер для текущего времени к линейной диаграмме рабочего времени, реализованной с помощью угловых-nvd3-директив. Пример такого типа: http://i.imgur.com/XsmfOXe.jpgПоказать текущее время в угловой линейной диаграмме nvd3

Раньше я строил эту диаграмму, используя чистые d3.js, и получил ее на работу. Поэтому я попытался перенести свое существующее решение на такую ​​директиву:

myApp.directive('nowMarker', function() { 
    return { 
     restrict: 'A', 
     link: function (scope, element, attr) { 
      var line = d3.svg.line() 
      .interpolate("basis") 
      // ####### this cannot work ####### 
      .x(function (d) { return x(d.t); }) 
      .y(function (d) { return y(d.value); }); 
      // ################################ 

      element.children()[0].append('svg:path') 
      .attr("class", "NOW") 
      .attr('d', line(scope.nowData)) 
      .attr('stroke', '#14022B') 
      .attr('stroke-width', '1px') 
      .attr('stroke-dasharray', ('5,5')) 
      .attr('fill', 'none'); 
     } 
    }; 
}); 

Здесь я застрял. Я не знаю, как получить доступ к шкалам x и y диаграммы директив angularjs-nvd3.

HTML, является:

<nvd3-line-chart nowMarker ...> 
</nvd3-line-chart> 

и в мой контроллер графика у меня есть:

var now = new Date(); 
$scope.nowData = [ 
     {name: "NOW", t: now, value: 0}, 
     {name: "NOW", t: now, value: 100} 
    ]; 

Там нет сообщений об ошибках, просто ничего не происходит.

Любая помощь очень ценится. Благодаря! Беннет

+0

нет идей вообще? – burtelli

ответ

1

В случае, если кто-то считает, что это полезно:

я в конечном итоге добавив «СЕЙЧАС» серии моих картографических данных и присвоение ему определенный цвет.

var tNow = new Date(); 
var sNow = { 
    key: "NOW", 
    values: [ 
     [tNow, 0], 
     [tNow, max] 
    ], 
    color: '#FFFFFF' 
};