下面是一个使用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/ –