0

我想爲當前時間添加一個垂直「當前」標記到用angular-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'); 
     } 
    }; 
}); 

這就是我卡住的地方。我不知道如何訪問angularjs-nvd3-directives圖表的x和y比例。

的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 2015-04-08 12:45:09

回答

1

萬一別人發現這個有用:

我最終加入了「NOW」系列,以我的圖表數據,並分配一個特定的顏色。

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