2014-03-03 46 views
1

我試圖使用Crossfilter example site作爲我想要的圖形的開始,但我正在努力創建一個與分組圖形交互的非分組圖形。修改Crossfilter「Flights」示例,以便其中一個圖形不是分組圖形?

我的數據是唯一員工記錄的列表:

employee,cnt 
john,3 
bill,15 
fred,30 
jill,6 
... 

我想一個圖形來顯示CNT場的值分組,類似的例子的距離圖。我想要的下一個圖表會爲每個員工設置一個欄,但是不要將它們按照員工的值進行分組,而是隻需顯示cnt值。

這是我到目前爲止,然而,這並組由兩個圖表:

// ... 

var crossData = crossfilter(data), 
    all = crossData.groupAll(), 
    cnt = crossData.dimension(function(d) { return d.cnt; }), 
    cnts = cnt.group(), 
    emp = crossData.dimension(function(d) { return d.employee; }), 
    emps = emp.group(); 

var charts = [ 
    barChart() 
     .dimension(cnt) 
     .group(cnts) 
    .x(d3.scale.linear() 
     .domain([0, 15]) 
     .rangeRound([0, 920])), 

    barChart() 
     .dimension(emp) 
     .group(emps) 
    .x(d3.scale.ordinal().rangePoints([0, 920]) 
     .domain(data.map(function(d) { return d.employee; }))) 
]; 

// ... 

回答

1

由CNT讓你的「環境管理計劃」組總和,是這樣的:

emps = emp.group().reduceSum(function (d) { return d.cnt; }); 

這會給你的CNT場的總和爲每僱員。由於每位員工只有一條記錄,因此您只需獲取cnt字段的值。

+0

這工作完美,謝謝! –