2015-01-05 65 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所做的操作在回调中。