.colors函数在barChart dc.js中只有两个选项

.colors函数在barChart dc.js中只有两个选项,colors,d3.js,bar-chart,dc.js,Colors,D3.js,Bar Chart,Dc.js,我想创建一个颜色函数,当值为负值时显示红色,否则在条形图中显示绿色 以下是我到目前为止得出的结论: var colorChoice = d3.scale.ordinal().domain(["positive","negative"]) .range(["#00FF00","#FF0000"]); hitsPerDaybarChart .colors(function(d) {return(colorChoice((d.hi

我想创建一个颜色函数,当值为负值时显示红色,否则在条形图中显示绿色

以下是我到目前为止得出的结论:

var colorChoice = d3.scale.ordinal().domain(["positive","negative"])
                                    .range(["#00FF00","#FF0000"]);
hitsPerDaybarChart
.colors(function(d) {return(colorChoice((d.hits>0) ? "positive":"negative"));})
但是我得到了以下错误消息:
TypeError:Object函数(d){return(colorChoice((d.pnl>0)?“positive”:“negative”);}没有方法“range”

欢迎大家帮忙。谢谢。

您需要使用该功能

1) 定义您的颜色范围和域:

.colors(d3.scale.ordinal().domain([“正”、“负”]))
.范围([“#00FF00”、“#FF0000”]))
2) 定义颜色访问器:

.colorAccessor(函数(d){
如果(d.值>0){
返回“正”;
}
返回“否定”;
})
希望这个JSFiddle能够帮助:



注意:在最新版本的d3.js中,使用
d3.scaleOrdinal()
而不是
d3.scale.ordinal()

hitsPerDaybarChart.colors(函数(d){return d.hits>0?colorChoice(“正片”):colorChoice(“负片”);}
?我看到你也在做同样的事,实际上……我的错了。我创建了一个更简单的示例,模拟附加一个矩形并填充其颜色,它成功了…因此,它肯定不在最后的语句中。下面是,FWIW@FernOfTheAndes,感谢您尝试它,但问题似乎在于dc.js对函数的解释。我更新了您的答案,用最新版本的d3,它是“scaleOrdinal”而不是“scale.ordinal”。我希望没问题:)。另外,谢谢,我想让colorAccessor正常工作,真是疯了!