2015-01-05 63 views
0

我使用的是angularjs-nvd3指令。酒吧的顏色恢復原來的顏色

我需要根據它們的值對單個小節着色。我可以用angularjs-nvd3-directives通過使用回調來選擇欄並在呈現它之後對其進行着色。

<nvd3-multi-bar-chart 
       data="vm.chartData" 
       id="chartOne" 
       width="400" 
       height="550" 
       showXAxis="true" 
       showYAxis="true" 
       noData="Charts not available" 
       delay="2400" 
       yAxisTickFormat="vm.yAxisTickFormatFunction()" 
       forcey="[0,9]" 
       callback="vm.colorFunction()" 
       objectequality="true"> 
      <svg></svg> 
     </nvd3-multi-bar-chart> 

我在回調函數選擇看起來是這樣的:

d3.selectAll("rect.nv-bar") 
.style("fill", function(d, i){ 
    return d.y > 50 ? "red":"blue"; 
}); 

總體而言,使用angularjs-nvd3-指令一直不錯,爲我節省了一些時間但是使用選擇自定義圖表後,他們渲染看起來像很多工作(顏色單獨的酒吧,顏色x/y軸等)。

問題的關鍵在於,當窗口大小調整後,它將恢復爲其原來的藍色。有沒有辦法讓我的更新保留吧?我是否需要爲window.onresize編寫我自己的事件(我嘗試過並且似乎不工作)?

回答

0

儘管我不想,我最終爲自己的圖表編寫了自己的指令,現在我可以完全控制圖表,而無需編寫大量代碼來撤銷angularjs-nvd3-directives所做的操作在回調中。