D3.js 将yAxis设置为D3js
我在D3js中有一个时间序列图,我正在设置yScaleD3.js 将yAxis设置为D3js,d3.js,D3.js,我在D3js中有一个时间序列图,我正在设置yScale setYScale() { this.yScale = d3 .scaleBand() .range([this.gHeight, 0]) .domain(this.yData) //this is array [0,1,2,3,4,5....23] .padding(0.06); }, 这为我在左侧设置了刻度,从0到23(24小时),我想要实现的是,我不想让它按
setYScale() {
this.yScale = d3
.scaleBand()
.range([this.gHeight, 0])
.domain(this.yData) //this is array [0,1,2,3,4,5....23]
.padding(0.06);
},
这为我在左侧设置了刻度,从0到23(24小时),我想要实现的是,我不想让它按顺序从0,1,2,3,4…刻度,我希望有0,2,4,6,8(偶数),其余的应该工作,因为它只是刻度,我希望它是偶数。有人能帮我吗。你的代码就是刻度,假设你有一个轴叫做
axis
,试试:
axis.tickFormat(function(d) { return (+d)%2 ? '' : d })
您可以发布整个代码示例吗?this.yAxisElement.call((g)=>g.call(d3.axisLeft(this.yScale).tickSize(0).tickPadding(8).tickValues(this.yScale.domain().filter(el=>el%2==0)).tickFormat(函数(d){return(+d)%2?'':d});这不起作用