.colors function in barChart dc.js with only two options
bar-chart, colors, d3.js, dc.js
Solution
You will want to use the `colorAccessor` function.
1) Define your color range and domain:
.colors(d3.scale.ordinal().domain(["positive", "negative"])
.range(["#00FF00", "#FF0000"]))
2) Define your color accessor:
.colorAccessor(function(d) {
if (d.value > 0) {
return "positive";
}
return "negative";
})
Hopefully this JSFiddle helps: http://jsfiddle.net/djmartin_umich/9ELWV/
Note: with the latest versions of d3.js, use `d3.scaleOrdinal()` instead of `d3.scale.ordinal()`.
Problem
I want to create a color function which shows red when the value is negative and green otherwise in a barChart. Here is what I've come up with so far : ``` var colorChoice = d3.scale.ordinal().domain(["positive","negative"]) .range(["#00FF00","#FF0000"]); hitsPerDaybarChart .colors(function(d) {return(colorChoice((d.hits>0) ? "positive":"negative"));}) ``` But I get the following error message : `TypeError: Object function (d) {return(colorChoice((d.pnl>0) ? "positive":"negative"));} has no method 'range'`. All help welcome. Thanks.