【问题标题】:Bar colors reverting back to original colors条形颜色恢复为原始颜色
【发布时间】:2015-01-05 03:37:19
【问题描述】:

我正在使用 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 编写自己的事件(我已经尝试过但似乎不起作用)?

【问题讨论】:

    标签: angularjs d3.js nvd3.js angularjs-nvd3-directives


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2016-05-15
      • 2012-10-02
      • 2018-12-21
      • 1970-01-01
      • 2012-06-07
      • 1970-01-01
      • 2017-10-14
      • 2013-06-25
      • 2021-10-22
      相关资源
      最近更新 更多