酒吧颜色恢复原始颜色

时间:2015-01-05 03:37:19

标签: 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="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-directives一直很好,并且节省了一些时间,但是在渲染后使用选择器来自定义图表看起来像很多工作(颜色单独的条,颜色x / y轴等等。 )。

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

1 个答案:

答案 0 :(得分:0)

尽管我不想,我最终为我的图表编写了自己的指令,现在我可以完全控制图表而无需编写大量代码来撤消angularjs-nvd3指令在回调中做了。