下面是一個使用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();
});
使用相同的數據,應該像附圖一樣好。
它工作得很好線型圖和條形圖,但不工作的餅圖,rowChart ...
是否有工作的餅圖任何similiar的例子嗎?
謝謝!
在我看來像一個直的dc.js問題,queue.js只是一種確保數據在初始化圖表之前加載的方法。你可以發佈你的非工作pieChart jsfiddle嗎?如果您查看餅圖示例或API參考,您將看到API有點不同 - 例如,沒有'.x()',原因很明顯。 – Gordon
@戈登你說得對!要改成pieChart,其實很簡單。讓我們使用上面的composite2。在正常情況下,我們只需要 1.刪除.x() 2.刪除.brushOn() 3.添加.radius() 4.將lineChart更改爲pieChart。 與Queue.js後,它只是不工作... :( http://jsfiddle.net/8K66Q/ –