2015-05-04 132 views
1

我有一列是,我要使用dc.jsdc.js:設置範疇條形圖X軸與寬域

我在儀表盤上的X軸設置的種類變量CSV知道我可以設定的設定x軸,因爲這(從這個post複製)

.x(d3.scale.ordinal().domain(["", "a", "b", "c"])) // Need empty val to offset first value 
.xUnits(dc.units.ordinal) // Tell Dc.js that we're using an ordinal x axis 

然而,是沒有什麼辦法可取代abc與捕獲所有的此可變?我的專欄有20個不同的類別,我不想用手輸入。我的代碼如下(列是d.geo

var geoValue = ndx.dimension(function (d) { 
    return d.geo; 
}); 
var geoGroup = geoValue.group(); 

geoChart 
    .width(960) 
    .height(150) 
    .margins({top: 10, right: 10, bottom: 20, left: 40}) 
    .dimension(geoValue) 
    .group(geoGroup) 
    .transitionDuration(500) 
    .gap(10) 
    .x(d3.scale.ordinal().domain(SOLUTION GOES HERE)) 
    .xUnits(dc.units.ordinal) 
    .elasticY(true) 
    .xAxis().tickFormat(); 
+0

從dc.js 2.0起,序號域自動計算。 – Gordon

+0

根本不需要調用'.domain()'。 – Gordon

回答

0

我認爲有以下應該工作

.x(d3.scale.ordinal().domain(geoValue)) 

以下爲我工作。我也在努力處理類似的情況

var carTypeDim = ndx.dimension(function(d) { return d["car-type"]; }); 
carTypeGroup = carTypeDim.group() 

carTypeChartBar 
    .x(d3.scale.ordinal().domain(carTypeDim)) 
    .xUnits(dc.units.ordinal) 
    .dimension(carTypeDim) 
    .group(carTypeGroup);