nvd3 在 x 轴上重复月份

nvd3 repeating months on x-axis

我正在尝试创建一个折线图来显示一年中的数据,并且我使用 Nvd3 制作了一个简单的图表,但是我在 x 轴上显示月份时遇到困难,我查看了其他帖子但出于某种原因,它只显示 "Jan" 12 次。

这是我的代码

        var chart;
        var data;

        nv.addGraph(function () {
            chart = nv.models.lineChart()
                .options({
                    duration: 300,
                    useInteractiveGuideline: true
                });

            // chart sub-models (ie. xAxis, yAxis, etc) when accessed directly, return themselves, not the parent chart, so need to chain separately
            chart.xAxis
                .axisLabel("Month")
                .tickFormat(function(d) { return d3.time.format('%b')(new Date(d)); });

            chart.yAxis
                .axisLabel('Tenants')
                .tickFormat(function (d) {
                    if (d == null) {
                        return 'N/A';
                    }
                    return d3.format(',.2f')(d);
                });

            //DATA
            data = getData();

            d3.select('#chart1').append('svg')
                .datum(data)
                .call(chart);

            nv.utils.windowResize(chart.update);

            return chart;
        });


        //GETTING DATA    
        function getData() {
            var finance = [];

            for (var i = 1; i <= 12; i++) {
                finance.push({
                    x: i,
                    y: i
                })
            }
            return [
                {
                    values: finance,
                    key: "Finance",
                    color: "#2ca02c"
                }
            ];
        }

JS Fiddle: https://jsfiddle.net/0q10cyte/

//编辑 重复几个月

现在,您的 x 只是一个数字:

finance.push({
    x: i,
    y: i
})

一个可能的解决方案(在许多解决方案中)是在实际日期中将其转换:

finance.push({
    x: new Date().setMonth(i),
    y: i
})

这是更新后的 fiddle:https://jsfiddle.net/2futpb98/