D3 ColorBrewer动态音阶着色

时间:2014-02-22 18:29:39

标签: javascript d3.js dc.js colorbrewer

我正在使用位于D3之上的dc.js。问题是我的所有图表都有相同的颜色条:

enter image description here

为不同颜色设置域并不容易,因为我的图表都不是静态的,x / y轴上的值可能总是不同。我怎么能告诉图表动态改变每组的颜色?上面的示例代码如下:

 var chart = dc.barChart(elm);
 chart.barPadding(0.1)
 chart.outerPadding(0.05)
 chart.brushOn(false)
 chart.x(d3.scale.ordinal());
 chart.xUnits(dc.units.ordinal);
 chart.elasticY(true);
 chart.width(250).height(250)
 chart.render();

我尝试过添加类似的内容:

 chart.range(colorbrewer.RdBu[9]);

但是所有的图表也会变成相同的颜色。

谢谢!

1 个答案:

答案 0 :(得分:3)

我相信你想要的东西:

chart.colors(d3.scale.category20b());

为每个条指定颜色。如果您希望所选颜色基于条形数据的值:

chart.colorAccessor(function(d, i){return i;})

这些方法及其他内容记录在此处:https://github.com/dc-js/dc.js/blob/master/web/docs/api-latest.md#color-mixin