2014-02-22 23 views
0

我使用位於D3頂部的dc.js。問題是我的所有圖表具有相同的顏色酒吧,如:在動態磅秤上使用D3 ColorBrewer着色

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]); 

但隨後所有圖表把相同的顏色了。

謝謝!

回答

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

+0

哇,太容易了。我不知道我是如何忽視這一點的。感謝您的建議。 – amcdnl

+0

FWIW我發現非常有用的是DC [演示頁面](http://dc-js.github.io/dc.js/docs/stock.html)的[註釋源代碼](http://dc-js.github.io/dc.js/docs/stock.html) dc-js.github.io/dc.js/)。 –

+0

關於DC的另外一個問題,爲什麼排行榜動畫很好,但條形圖剛剛出現? – amcdnl