c3 js -> 我需要移动/更改我的 x 轴标签

c3 js -> I need to shift/ change my x-axis labels

(我专门使用 c3.js,但它是一个 d3.js 库,所以我添加了两个标签)

我正在尝试制作一个图表,根据用户点击的月份显示 'month' 的数据。我遇到的问题是 x 轴标签显示 0-X 而不是 1-X。

因此,例如二月显示 0 - 27 而不是 1-28。

此图的代码如下所示:

var chart = c3.generate({
    bindto: '#graph',
    data: {
        columns: [
            daysArray
        ],
        type: 'bar'
    },
    bar: {
        width: {
            ratio: 1
        }
    }
});

非常简单...'daysArray' 是数据(没有数据的日子为 0)它包含一个标签 ('Expenses') 和 28 个值。

我尝试添加这段代码:

var chart = c3.generate({
    bindto: '#graph',
    data: {
        columns: [
            daysArray
        ],
        type: 'bar'
    },
    /*==========ADDED THIS SECTION=========*/
    axis: {
        x:{
            tick: {
                values: monthLengthArray,
            }
        }
    },
    /*======================================*/
    bar: {
        width: {
            ratio: 1
        }
    }
});

其中使用 'monthLengthArray' 输入每个月的天数。 IE。如果用户单击 Feb. 它包含值 1 - 28... Jan. 包含 1-31... 等等,它看起来像这样:

基本相同,但有一个空白的 0 列。澄清一下,对于这两次尝试,数据都在正确的 'days' 上,但 'shifted' 在右边..

我确定这是一个简单的修复,但是这个问题的措辞非常困难(我在发帖前没能在这里找到答案,但我确实看过了)

还有一点要注意:我没有使用 'timeseries' 作为 x 轴。我正在使用默认值(我认为是 'indexed')。我确定索引与它有关,但我不确定如何告诉它从 1 而不是 0 开始索引!

谢谢!

如果问题只是将标签的值向上移动一位,请在您的设置中尝试此段:

axis: { 
   x: {
        tick: {
            format: function (x) { return x+1; }
        }
    }
}