【发布时间】:2019-04-13 10:45:25
【问题描述】:
使用 crossfilter api 我创建了一个维度和一个组。我想在直流复合图中显示每组的计数和每组的总和。但在左右 y 轴上,它只显示 sum 。
var data = [
{"class" : 'class I' , "donation": 400},
{"class" : 'Class II' , "donation" : 500}];
var donationCrossfilter = crossfilter(data);
var classDim = donationCrossfilter.dimension(function(d){ return d.class});
var classGrp = classDim.group();
var compositechart = dc.compositeChart("#compositechart");
compositechart
.x(d3.scaleBand())
.xUnits(dc.units.ordinal)
.margins({top:5 , right:60 , left : 60 , bottom:20})
.elasticY(true)
.group(classGrp)
.dimension(classDim)
.rightY(d3.scaleLinear())
.xAxis().tickSize(0);
compositechart.compose(
[
dc.lineChart(compositechart)
.group(classGrp)
.valueAccessor(function(d){ return d.value} ),
dc.barChart(compositechart)
.group(classGrp.reduceSum(function(d){ return d.donation}))
.valueAccessor(function(d){ return d.value})
.useRightYAxis(true)
]);
compositechart.render();
在左侧 y 轴上应显示每个班级的计数为 1 ,1,在右侧 y 轴上应显示每个班级捐赠的总和为 400、500
【问题讨论】:
标签: dc.js crossfilter