使用d3堆栈布局,每个点组织数据,而不是每层

时间:2012-06-05 13:26:54

标签: javascript json d3.js

我正在努力实现stacked bars example的某些方面,区别在于我的背景数据的组织方式。

布局假设数据是按层组织的。

是否有人尝试使用按数据点组织的数据布局?

e.g。

   //completely random example, but I hope you can get the gist. 
    [{
    id: 1,
    name: 'foo'
    layers: {
        a: 10,
        b: 13,
        c: 12
      }
 }, {
   id: 2,
   name: 'bar',
   layers: {
       a: 8,
       b: 5,
       c: 14
     }
 }]

除了完全重新映射以便数据按层排列(我可能必须为相当大的数据集执行此操作,这就是我要问的原因),是否有人曾根据所呈现的数据创建堆叠布局?

1 个答案:

答案 0 :(得分:2)

您可以随时回避原生d3堆栈布局辅助函数并自己从数据中计算矩形位置 - 这是堆栈条的基本示例,其数据与您的数据类似: http://jsfiddle.net/tyR2S/7/

您仍然需要对数据进行一些转换,因此尝试转换为d3.stack所采用的图层输入仍然是值得的,但我提出这一点可能会有所帮助。

stacked bar example without stack layout