Javascript d3.js轴添加刻度值

Javascript d3.js轴添加刻度值,javascript,d3.js,Javascript,D3.js,我是d3.js的新手。现在我有一个问题,如何在起始位置和结束位置添加记号。 那么,如何在第一个勾号中加1,在最后一个勾号中加99呢?我不知道怎么做 让边距={top:40,right:80,bottom:40,left:80}, 宽度=600-边距。右侧-边距。左侧, 高度=360-margin.top-margin.bottom; 让svg=d3。选择(“#d3”) .append('svg') .attr(“宽度”,宽度+边距。左侧+边距。右侧) .attr(“高度”,高度+边距。顶部

我是d3.js的新手。现在我有一个问题,如何在起始位置和结束位置添加记号。

那么,如何在第一个勾号中加1,在最后一个勾号中加99呢?我不知道怎么做


让边距={top:40,right:80,bottom:40,left:80},
宽度=600-边距。右侧-边距。左侧,
高度=360-margin.top-margin.bottom;
让svg=d3。选择(“#d3”)
.append('svg')
.attr(“宽度”,宽度+边距。左侧+边距。右侧)
.attr(“高度”,高度+边距。顶部+边距。底部)
.append('g')
.attr(“转换”、“平移”(+margin.left+)、“+margin.top+”);
设xScale=d3.scaleLinear()
.domain([1,99])
.范围([0,宽度]);
设xAxisGenerator=d3.axisBottom(xScale);
设xAxis=svg.append('g')
.呼叫(xAxisGenerator);

首先,您可以使用
d3.ticks()
获取默认的刻度,其形式如下:

  d3.ticks(start,stop,number)
轴的默认刻度数是10,我们可以使用它。然后插入域中的最小值和最大值作为开始值和停止值,然后在数组中获得默认的刻度值。现在,我们可以将域中的最小值和最大值添加到此数组中,可能类似于:

    let ticks = [...xScale.domain(),...d3.ticks(...xScale.domain(),10)]
我使用spread操作符(
)意味着这将与IE不兼容,但返工并不困难

然后我们只需将这些记号传递到轴:

    let xAxisGenerator = d3.axisBottom(xScale)
       .tickValues(ticks);
现在我们有了原来的滴答声加上1和99的滴答声


文件
让边距={top:40,right:80,bottom:40,left:80},
宽度=600-边距。右侧-边距。左侧,
高度=360-margin.top-margin.bottom;
让svg=d3。选择(“#d3”)
.append('svg')
.attr(“宽度”,宽度+边距。左侧+边距。右侧)
.attr(“高度”,高度+边距。顶部+边距。底部)
.append('g')
.attr(“转换”、“平移”(+margin.left+)、“+margin.top+”);
设xScale=d3.scaleLinear()
.domain([1,99])
.范围([0,宽度]);
让ticks=[…xScale.domain(),…d3.ticks(…xScale.domain(),10)]
设xAxisGenerator=d3.axisBottom(xScale)
.滴答声数值(滴答声);
设xAxis=svg.append('g')
.呼叫(xAxisGenerator);