分组条形图显示组之间的交叉表

时间:2019-04-21 19:55:16

标签: javascript d3.js bar-chart data-visualization

我正在尝试制作一个组条形图,以给出两个组组合的频率。我参考此站点以获取汇总和嵌套功能参考: http://bl.ocks.org/phoebebright/raw/3176159/

我正在尝试使用自己的数据集来创建以下效果: https://bl.ocks.org/bricedev/0d95074b6d83a77dc3ad

我目前尝试使用自己的数据drug1.csv: https://blockbuilder.org/lydiawawa/9efb5df76c08640316efbef702437db7

在控制台中,分组计数似乎无法生成正确的分布。我的汇总和嵌套出现了问题

  const nestedData = d3.nest()
    .key(function(d){return d.s_category})
    .key(function(d){return d.drug_cat})
    .rollup(function(leaves) { return leaves.length; })
    .entries(data);

以下是s_category x drug_cat所需的交叉表分布计数:

      1   2   3   4   5   6
  2 367  35   8   1   1   1
  3 223  24   4   4   2   2
  4  29   5   9   1   2   3
  5  37   1   3   3   2  26

静态图表: enter image description here

在我尝试创建的动画条形图中,交叉表计数应该是y轴,drug_c是x轴,而s_category确定条形图的组。谢谢您的帮助!

1 个答案:

答案 0 :(得分:1)

使用嵌套生成器后,您不再拥有drug_catcount作为属性:您拥有keyvalues(或value用于内部数组)。

您的块构建器在这里更改这些属性的名称:https://blockbuilder.org/GerardoFurtado/f4c825a5f8c92e87cc5a81591ba1f7c9