使用NVD3分组和堆叠multiBarChart

Gon*_*oni 6 javascript charts nvd3.js

Javascript中条形图可能重复的问题:堆积条形图+分组条形图

我正在尝试创建一个堆积条形图,让您可以将2个值(深蓝色和中蓝色)与上周的数据点(次要亮蓝色'后面')进行比较.

分组和堆叠multiBarChart

  1. 与开始multiBarChart().stacked(true)一开始我尝试合并两个星期后的14条单一的阵列,其中x位置可以帮助组吧.我试图以形成我的组合,其中对象数组.x属性的值是0,0.3,1,1.3,2,2.3,等. 在此输入图像描述 不幸的是,lineChart()它不使用x定位值.

  2. 另一个想法是利用该组.stacked(false),提供4个具有相同x值的项目(而不是2个).然后它们看起来叠加在彼此之上而不是堆叠. 在此输入图像描述 这里的间距看起来不错,但是如何将这些2比2叠加?

Gle*_*enn 1

我先声明一下,我不是 nvd3 专家。我自己刚刚度过了入门阶段。

话虽如此,看来你对自己太苛刻了。

我想你真的想发送 nvd3 两组数据,并且 x 的匹配在两者之间。(例如,(1,y1a) 对应 (1,y2a),然后 (2,y2a) 对应 (2,y2b),等等。)

您可以通过以下内容更清楚地看到这一点:

  1. 前往他们的实时代码页面
  2. 选择组/堆叠条形图。
  3. 选择数据 (JSON) 选项卡。
  4. 将第一个函数替换为以下函数,并观察生成的 x 值:

    function() {
      return stream_layers(2,10,.1).map(function(data, i) {
        alert( 'Stream '+i+': '+JSON.stringify(data));
        return {
          key: 'Stream' + i,
          values: data
        };
      });
    }
Run Code Online (Sandbox Code Playgroud)

据我了解,这就是您正在寻找的模型。