javascript - 在 dc js 中创建堆叠条形图

标签 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; });

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

最佳答案

你的意思是条形图正确(最后一句)?

您可以使用 stack 方法,但我猜您想按 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")

堆栈的数量与不同名称的数量一样多。

关于javascript - 在 dc js 中创建堆叠条形图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32606609/

相关文章:

javascript - 如何在 javascript 的 for 循环中访问对象属性?

javascript - 这个颜色函数是如何工作的?

Javascript 不在 Github 上执行

javascript - d3条形图是颠倒的

javascript - D3 轴未更新

javascript - 是否可以修改已插入交叉过滤器的数据?

javascript - 具有单个启用的日期时间选择器的 Jquery 弹出窗口

d3.js - 着色 DC.JS Choropleth 图表

javascript - dc.js:具有嵌套分组的箱线图

javascript - D3 JavaScript 网络 : How to parametrize node size with the number of links?