我正在使用 angularjs-nvd3-directives。
我需要根据它们的值对各个条进行着色。我可以使用 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 编写自己的事件(我已经尝试过但似乎不起作用)?