Angularjs 恢复为原始颜色的条形图颜色

Angularjs 恢复为原始颜色的条形图颜色,angularjs,d3.js,nvd3.js,angularjs-nvd3-directives,Angularjs,D3.js,Nvd3.js,Angularjs Nvd3 Directives,我使用的是angularjs-nvd3指令 我有一个需要的颜色个别酒吧的基础上,他们的价值观。我可以使用angularjs-nvd3-directives来实现这一点,方法是使用一个回调来选择条并在渲染后对其着色 <nvd3-multi-bar-chart data="vm.chartData" id="chartOne" width="400" height="

我使用的是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>
总的来说,使用angularjs-nvd3-directives很好,节省了我一些时间,但是在渲染后使用选择器自定义图表似乎需要大量的工作,如单条颜色、x/y轴颜色等


当前的问题是,调整窗口大小后,它会恢复为原来的蓝色。有没有办法保存我对酒吧的更新?我是否需要为window.onresize编写我自己的事件,我已经尝试过了,但似乎不起作用?

尽管我不想这么做,但我最终还是为我的图表编写了自己的指令,现在我可以完全控制图表,而无需编写大量代码来撤销angularjs-nvd3指令在回调中所做的操作

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