如何将 dc 堆叠条形图示例汇总为单个条形图?
how to roll up dc stacked-bar example into single bar?
"http://dc-js.github.io/dc.js/examples/stacked-bar.html" 我想将这种数据集滚动到单条形堆积条形图中。我改变了
speedSumGroup = runDimension.group().reduce(function(p, v) {
p[v.Expt] = (p[v.Expt] || 0) + v.Speed;
return p;
}, function(p, v) {
p[v.Expt] = (p[v.Expt] || 0) - v.Speed;
return p;
}, function() {
return {};
});
到speedSumGroup2 = runDimension.groupAll().reduce(function(p, v) {
并检查该组显示汇总到单个预期的数据。
Object {1: 18180, 2: 17120, 3: 16900, 4: 16410, 5: 16630}
但是我使用 .value() 检查数据,而原始数据需要 all(),并且该组不适用于图表
chart
.width(768)
.height(480)
.x(d3.scale.linear().domain([1,21]))
.margins({left: 50, top: 20, right: 10, bottom: 20})
.brushOn(false)
.clipPadding(10)
.title(function(d) {
return d.key + '[' + this.layer + ']: ' + d.value[this.layer];
})
.yAxisLabel("This is the Y Axis!")
.dimension(runDimension)
.group(speedSumGroup2, "1", sel_stack('1'))
.renderLabel(true);
给出 "a.group.all is not a function" 错误。 dimension.groupAll() 的结果是可以插入图表的标准组吗?
好问题 - 从来都不清楚 groupAll 是什么类型的对象。
正如您推测的那样,dc.js 图表需要一个 "regular" 组,而不是 groupAll。这是您可以使用的转换函数:
function regularize_groupAll(groupAll) {
return {
all: function() {
return [{key: 'all', value: groupAll.value()}];
}
};
}
这样使用:
var speedSumReg2 = regularize_groupAll(speedSumGroup2);
...
chart
.group(speedSumReg2, "1", sel_stack('1'))
.stack(speedSumReg2, "2", sel_stack('2'))
...
"http://dc-js.github.io/dc.js/examples/stacked-bar.html" 我想将这种数据集滚动到单条形堆积条形图中。我改变了
speedSumGroup = runDimension.group().reduce(function(p, v) {
p[v.Expt] = (p[v.Expt] || 0) + v.Speed;
return p;
}, function(p, v) {
p[v.Expt] = (p[v.Expt] || 0) - v.Speed;
return p;
}, function() {
return {};
});
到speedSumGroup2 = runDimension.groupAll().reduce(function(p, v) {
并检查该组显示汇总到单个预期的数据。
Object {1: 18180, 2: 17120, 3: 16900, 4: 16410, 5: 16630}
但是我使用 .value() 检查数据,而原始数据需要 all(),并且该组不适用于图表
chart
.width(768)
.height(480)
.x(d3.scale.linear().domain([1,21]))
.margins({left: 50, top: 20, right: 10, bottom: 20})
.brushOn(false)
.clipPadding(10)
.title(function(d) {
return d.key + '[' + this.layer + ']: ' + d.value[this.layer];
})
.yAxisLabel("This is the Y Axis!")
.dimension(runDimension)
.group(speedSumGroup2, "1", sel_stack('1'))
.renderLabel(true);
给出 "a.group.all is not a function" 错误。 dimension.groupAll() 的结果是可以插入图表的标准组吗?
好问题 - 从来都不清楚 groupAll 是什么类型的对象。
正如您推测的那样,dc.js 图表需要一个 "regular" 组,而不是 groupAll。这是您可以使用的转换函数:
function regularize_groupAll(groupAll) {
return {
all: function() {
return [{key: 'all', value: groupAll.value()}];
}
};
}
这样使用:
var speedSumReg2 = regularize_groupAll(speedSumGroup2);
...
chart
.group(speedSumReg2, "1", sel_stack('1'))
.stack(speedSumReg2, "2", sel_stack('2'))
...