在dc js中创建堆叠条形图

时间:2015-09-16 10:54:16

标签: javascript d3.js dc.js

我正在尝试使用按名称和日期维度分组的组在dc js中制作堆积条形图

日期维度:

var date_dim = ndx.dimension(function(d) { return  d.date;});

和一些按名称

分组的数字数据
var names_grouping = names_dim.group().reduceSum(function(d){
  return d.dep_var
})

我之前使用了相同的分组,并按季度分组成功生成一个饼图,显示按名称分享的数字数据:

enter image description here

生成饼图的代码:

var namechart = dc.pieChart('#sales-by-nameplate')
namechart 
    .width(200)
    .height(200)
    .radius(80)
    .innerRadius(30)
    .dimension(names_dim)
    .group(name_grouping)
    .renderLabel(false);

names_dim就是这样:

var names_dim = ndx.dimension(function(d) { return d.name; });

鉴于数据已按名称分组,是否可以使用现有名称组和日期维度创建堆积区域图表?

1 个答案:

答案 0 :(得分:2)

你的意思是barchart right(最后一句)?

您可以使用堆栈方法,但我想您想要通过date_dim进行分组:

barChart
   .dimension(date_dim)
   .group(date_dim.group().reduceSum(function(d) { return d.names_dim === 'Name 1' ? 1 : 0; }), "Name 1")
   .stack(date_dim.group().reduceSum(function(d) { return d.names_dim === 'Name 2' ? 1 : 0; }), "Name 2")
   .stack(date_dim.group().reduceSum(function(d) { return d.names_dim === 'Name 3' ? 1 : 0; }), "Name 3")

堆叠数与不同名称的数量相同。