Я хочу добавить вертикальный «Теперь» -маркер для текущего времени к линейной диаграмме рабочего времени, реализованной с помощью угловых-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}
];
Там нет сообщений об ошибках, просто ничего не происходит.
Любая помощь очень ценится. Благодаря! Беннет
нет идей вообще? – burtelli