2014-05-02 55 views
1

下面是一個使用Queue.js在一個dc.js加載多個CSV的例子:https://github.com/dc-js/dc.js/blob/master/web/examples/composite.html餅圖中DC.js與Queue.js不工作

這裏是我的版本(JavaScript的):

var composite = dc.compositeChart("#test_composed"); 
var composite2 = dc.compositeChart("#test_composed2"); 

var q = queue() 
    .defer(d3.csv, "morley.csv") 
    .defer(d3.csv, "morley2.csv"); 

q.await(function(error, exp1, exp2) { 

var ndx = crossfilter(); 
ndx.add(exp1.map(function(d) { 
    return {x: d.Run}; 
})); 
ndx.add(exp2.map(function(d) { 
    return {x: d.Run}; 
})); 

var dim = ndx.dimension(dc.pluck('x')), 
    grp = dim.group().reduceCount(dc.pluck('x')); 

composite 
    .width(768) 
    .height(480) 
    .x(d3.scale.linear().domain([0,200])) 
    .compose([ 
     dc.barChart(composite) 
      .dimension(dim) 
      .group(grp) 
     ]) 
    .brushOn(false) 
    .render(); 

composite2 
    .width(768) 
    .height(480) 
    .x(d3.scale.linear().domain([0,200])) 
    .compose([ 
     dc.lineChart(composite2) 
      .dimension(dim) 
      .group(grp) 
     ]) 
    .brushOn(false) 
    .render();  
}); 

使用相同的數據,應該像附圖一樣好。

my version of composite charts of line and bar with original datasets

它工作得很好線型圖和條形圖,但不工作的餅圖,rowChart ...

是否有工作的餅圖任何similiar的例子嗎?

謝謝!

+0

在我看來像一個直的dc.js問題,queue.js只是一種確保數據在初始化圖表之前加載的方法。你可以發佈你的非工作pieChart jsfiddle嗎?如果您查看餅圖示例或API參考,您將看到API有點不同 - 例如,沒有'.x()',原因很明顯。 – Gordon

+0

@戈登你說得對!要改成pieChart,其實很簡單。讓我們使用上面的composite2。在正常情況下,我們只需要 1.刪除.x() 2.刪除.brushOn() 3.添加.radius() 4.將lineChart更改爲pieChart。 與Queue.js後,它只是不工作... :( http://jsfiddle.net/8K66Q/ –

回答

0

我知道這並不能真正解決您的問題,但我只是讓你知道不同的解決方案。谷歌代碼遊戲展示了谷歌爲開發者使用的一些酷代碼。查看這些鏈接 條形圖:https://code.google.com/apis/ajax/playground/#bar_chart

+0

謝謝,但它是沒有用的:( –

0

感謝您發佈jsfiddle。如果你完成你的小提琴,我們可以更好地幫助你排除故障。 ;-)

看起來你正試圖用pieChart創建一個複合圖表。這很不尋常 - 你爲什麼要這麼做?通常情況下,複合是爲了當你想疊加不同的圖表,但你只有一個圖表在你的小提琴中。

我不確定複合圖表是否適用於非網格圖表。