D3.js:隐藏轴上的最后一个刻度?

时间:2013-04-30 12:08:11

标签: d3.js

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

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

enter image description here

这是我目前的代码:

  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.

1 个答案:

答案 0 :(得分:4)

你应该看一下axis.tickSize()。它允许您设置主要,次要和结束标记的大小。

这里也会看到类似的问题:

Remove end-ticks from D3.js axis