0

如何确保 nvd3 中 multibarchart 中的条形图始终从同一级别开始?我所看到的是一些系列开始有点“漂浮”在空中(实际上其中一个堆栈失去了颜色)

请参阅http://jsfiddle.net/TZ2kH/1/并单击“堆叠”选项(初始设置 - 这是另一个问题)

我的数据系列很短,只有 3 行——一个子系列中有 2 行,另一个子系列中有 1 行。

data_multiBarChart = [{
    'values': [ {
        'y': 7,
            'x': 9
    }],
        'key': 'Count',
        'yAxis': '1'
}, {
    'values': [{
        'y': 12,
            'x': 0
    }, {
        'y': 8,
            'x': 1
    }],
        'key': 'Duration',
        'yAxis': '1'
}];

谢谢。

- 编辑 -

在 firebug 控制台中看到 FWIW 警告:

Unexpected value NaN parsing height attribute.
this.setAttribute(name, f(t));

我也看到过类似的稀疏数据:

Unexpected value NaN parsing height attribute.
...3.interpolateRgb=function(e,t){e=d3.rgb(e),t=d3.rgb(t);var n=e.r,r=e.g,i=e.b,s=t...
4

1 回答 1

1

这是因为您传递到图表中的数据。图表中子系列的数量必须相等,如果您没有值,则至少必须将 y 值设置为 0。

多重条形图包含两个或多个类别或条形的比较。图表绘制的时候,X-Axis一定是有顺序的,看看这个fiddleX-Axis是怎么排列的

尝试使用如下所示的数据:

data_multiBarChart = [{
    'values': [{
        'y': 0,
            'x': 1
    }, {
        'y': 8,
            'x': 2
    }],
        'key': 'Count',
        'yAxis': '1'
}, {
    'values': [{
        'y': 12,
            'x': 1
    }, {
        'y': 8,
            'x': 2
    }],
        'key': 'Duration',
        'yAxis': '1'
}];

希望我有道理,并有助于解决您的问题。

于 2013-06-05T11:56:56.337 回答