使用nvd3.js在水平方向上滑动多条形图

使用nvd3.js在水平方向上滑动多条形图,d3.js,nvd3.js,D3.js,Nvd3.js,我正在使用nvd3绘制一个多条形图,其中每个条形图对表示今年月份的值一个条形图,前一年的值另一个条形图。将有12对酒吧,每个月面值。 我希望我选择的月份将显示为最后一个栏,因此如果我选择四月,它将显示:五月、六月、七月、八月、九月、十月、十一月、十二月、一月、二月、三月、四月 到目前为止,很好,我可以按照这个顺序返回json 问题是,当我更改月份并更新图表时,条形图应该会移动,但它们不会像我希望的那样移动。我希望它们在水平方向滑动,但是相反,每个条都会调整其高度,以便最终每个位置都可以,但是视觉

我正在使用nvd3绘制一个多条形图,其中每个条形图对表示今年月份的值一个条形图,前一年的值另一个条形图。将有12对酒吧,每个月面值。

我希望我选择的月份将显示为最后一个栏,因此如果我选择四月,它将显示:五月、六月、七月、八月、九月、十月、十一月、十二月、一月、二月、三月、四月

到目前为止,很好,我可以按照这个顺序返回json

问题是,当我更改月份并更新图表时,条形图应该会移动,但它们不会像我希望的那样移动。我希望它们在水平方向滑动,但是相反,每个条都会调整其高度,以便最终每个位置都可以,但是视觉效果不好

我相信我需要设置每个小节的键,但我无法设置

以下是相关代码:

    d3.json(json, function(data) {
    nv.addGraph(function() {
        var chart = nv.models.multiBarChart()
            .x(function(d) { return d[0]; })
            .y(function(d) { return d[1]; })
            .color(colors)
            .forceY([0, 100])
            .reduceXTicks(false)
            .stacked(false)
            .showControls(false)
            .margin({left: 50, right: 30});

        chart.xAxis
            .showMaxMin(false)
            .tickFormat(function(d) {
                return ['Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun', 'Jul', 'Ago', 'Set', 'Out', 'Nov', 'Dez'][d - 1];
            });

        chart.yAxis
            .tickFormat(function(n) {
                return d3.format('.0f')(n) + '%';
            });

        d3.select("#" + id + " .view svg")
            .data([data]/***, function(d, n) {
                return "x";
            }***/)
            .transition().duration(500).call(chart);

        nv.utils.windowResize(chart.update);

        return chart;
    });
});
你能不能把代码放在一个标签上,这样人们就可以更好地了解你想要实现的目标,并帮助你解决问题。注意,X轴标签的移动方式和我想要的一样,但条形图没有。我希望酒吧也从左/右移动,而不是调整顶部/高度。