Colors dc.js条形图中的colorAccessor

Colors dc.js条形图中的colorAccessor,colors,d3.js,dc.js,Colors,D3.js,Dc.js,我将条形图的配色方案定义如下: var colorChoice = d3.scale.ordinal().domain(["negative","positive","test"]) .range(["#FF0000","#00FF00","#FFFF00"]); myBarChart .colors(colorChoice) .colorAccessor(function(d) {

我将条形图的配色方案定义如下:

var colorChoice = d3.scale.ordinal().domain(["negative","positive","test"])
                                    .range(["#FF0000","#00FF00","#FFFF00"]);

myBarChart
    .colors(colorChoice)
    .colorAccessor(function(d) {
            if (+d.data.value>0) {
                console.log("positive");
                return("positive");
            } else {
                console.log("negative");
                return("negative");
            }
        });
但是当我
renderAll()
时,所有的条都是我
colorChoice.domain()
的第一项的颜色(因此在这种情况下
#FF0000

我尝试切换域中的两个第一个值,并且始终使用第一个值

我还验证了我的
colorAccessor
函数输出的值应该由`colorChoice'正确解释。(参见下面的控制台日志)


欢迎所有帮助。

你能试着把这个放到js小提琴里吗?你可以用它作为起点。我的猜测是,您的数据在某种程度上从未评估为>0。@DJMartin您的fiddle工作正常。非常感谢。我更新了我的问题,向您展示了
colorAccessor
在我的案例中返回的内容的日志。公平地说,工作JSFIDLE和您的问题之间的唯一区别是数据不同吗?您是否可以尝试更新我提供的JSFIDLE来重现您的问题。。。也许可以通过更改数据来匹配您的数据?@DJMartin感谢您为此花费时间。我很困惑。这和我的消息来源有关。我指的是dc.js的在线版本,而不是我的本地版本,它运行得非常好。你听说过那种问题吗?我的本地版本是最新的。嗯。。。不确定。我会检查本地服务器上是否提供了旧的缓存版本。
3 negative metrics:319
3 positive metrics:316
negative metrics:319
3 positive metrics:316
negative metrics:319
positive metrics:316
2 negative metrics:319
positive metrics:316