条形颜色恢复为原始颜色
Bar colors reverting back to original colors
我正在使用 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 调整大小时,它会恢复到原来的蓝色。有没有办法保留我对栏的更新?我是否需要为 window.onresize 编写自己的事件(我已经尝试过但似乎不起作用)?
尽管我不想这样做,但我最终为我的图表编写了自己的指令,现在我可以完全控制图表,而无需编写大量代码来撤消 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 调整大小时,它会恢复到原来的蓝色。有没有办法保留我对栏的更新?我是否需要为 window.onresize 编写自己的事件(我已经尝试过但似乎不起作用)?
尽管我不想这样做,但我最终为我的图表编写了自己的指令,现在我可以完全控制图表,而无需编写大量代码来撤消 angularjs -nvd3-directives 在回调中执行。