Javascript dc.js x轴显示为十进制而不是整数

Javascript dc.js x轴显示为十进制而不是整数,javascript,d3.js,dc.js,linegraph,Javascript,D3.js,Dc.js,Linegraph,我有一个折线图,是a轴上的周数和y轴上的容量。然而,由于某种原因,x轴的间隔为0.5。。。我希望它从1,2,3,4开始,等等。。而不是1、1.5、2、2.5、3、3.5等 这是我的代码供参考 let chart = dc.lineChart("#chart"); let ndx = crossfilter(results); let weekDimension = ndx.dimension(function (d) { return d

我有一个折线图,是a轴上的周数和y轴上的容量。然而,由于某种原因,x轴的间隔为0.5。。。我希望它从1,2,3,4开始,等等。。而不是1、1.5、2、2.5、3、3.5等

这是我的代码供参考

let chart = dc.lineChart("#chart");
let ndx = crossfilter(results);
            
let weekDimension = ndx.dimension(function (d) {
     return d.week = +d.week;
});
                
function reduceAdd(p, v) {
    ++p.count;
    p.total += v.capacity;
    p.average = p.total / p.count;
    return p;
}

function reduceRemove(p, v) {
    --p.count;
    p.total -= v.capacity;
    p.average = p.count ? p.total / p.count : 0;
    return p;
}

function reduceInitial() {
    return { count: 0, total: 0, average: 0 };
} 

let capacityGroup = weekDimension.group().reduce(reduceAdd, reduceRemove, reduceInitial);
            
chart.width(360)
    .height(200)
    .margins({ top: 20, right: 20, bottom: 50, left: 30 })
    .mouseZoomable(false)
    .x(d3.scale.linear().domain([1, 52]))
    .renderHorizontalGridLines(true)
    .brushOn(false)
    .dimension(weekDimension)
    .valueAccessor(function (d) {
        return d.value.average;
    })
    .group(capacityGroup);

dc.renderAll('chart');
这就是结果的样子

{month : "1", capacity: "48"}
{month : "1", capacity: "60"}
{month : "2", capacity: "67"}
{month : "2", capacity: "60"}
{month : "2", capacity: "66"}
{month : "3", capacity: "52"}
{month : "3", capacity: "63"}
{month : "4", capacity: "67"}
{month : "4", capacity: "80"}
{month : "5", capacity: "61"}
{month : "5", capacity: "66"}
{month : "5", capacity: "54"}
我需要做什么来确保我的x轴间隔与数据集中的值一致?我试过做
capacityChart.xAxis().tickFormat(d3.format('.0f'))但是让x轴为1,1,2,2,3,3,4,4,5,5


任何帮助都将不胜感激

多亏了戈登,我才设法弄明白


我做了
capacityChart.xAxis().ticks(maxWeek)
来解决这个问题

您好,我很高兴能帮您回答这个问题,但是dc.js轴直接来自D3,因此您可能会更幸运地在没有dc.js标记的情况下搜索这个特定问题。我明白了,你会建议我试着问另一个没有dc标签的问题吗?我确实尝试过使用tickFormat,但这导致我的图形创建了重复的。是因为我的x轴只有5个值吗?我以前没有这个问题……没问题,我有时间会回答的。我在度假,所以可能需要几天时间。我的观点是:如果你搜索了一个答案却没有找到任何东西,那可能是因为这不是一个明确的[dc.js]问题。您可以尝试
.ticks()
,这会影响ticks的数量。明白了!我也会试试做。滴答声()。我感谢你的帮助!或者
.tickValues()
-我认为没有办法控制如何选择刻度-您可以指定一个近似数字,也可以指定精确的刻度。