D3.js:隐藏轴上的最后一个记号?

D3.js:隐藏轴上的最后一个记号?,d3.js,D3.js,我正在使用D3.js绘制带有刻度的轴。我只想隐藏y轴上的最后一个记号 也许一张照片会让它更清晰。这就是我的轴目前的样子-我想隐藏“21”及其相关的勾号 这是我目前的代码: var yAxisScale = d3.svg.axis().orient("left"); yAxisScale.scale(y_position); yAxisScale.ticks(20).tickFormat(function(d) { return d+1; }); var yAxis = vis.

我正在使用D3.js绘制带有刻度的轴。我只想隐藏y轴上的最后一个记号

也许一张照片会让它更清晰。这就是我的轴目前的样子-我想隐藏“21”及其相关的勾号

这是我目前的代码:

  var yAxisScale = d3.svg.axis().orient("left");
  yAxisScale.scale(y_position);
  yAxisScale.ticks(20).tickFormat(function(d) { return d+1; });
  var yAxis = vis.selectAll("g.y.axis").data([1]);
有没有办法只隐藏最后一个记号,而不管y轴上有多少个记号

我尝试添加这一行,但它不起作用,即使selectAll表达式似乎返回正确的元素

d3.select(d3.selectAll("g.y.axis g")[0].pop()).style('opacity',  1e-6);

不透明度仍然设置为1

您应该看看axis.tickSize()。它允许您设置主刻度、次刻度和结束刻度的大小

有关类似问题,请参见此处:


您应该看看axis.tickSize()。它允许您设置主刻度、次刻度和结束刻度的大小

有关类似问题,请参见此处:


谢谢!实际上,我最终用
tickValues()
显式地设置了这些值,这就成功了。谢谢!实际上,我最终用
tickValues()
显式地设置了这些值,这就成功了。