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