1

我正在使用 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。

4

1 回答 1

4

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

也可以在这里看到类似的问题:

从 D3.js 轴中删除结束标记

于 2013-04-30T15:02:51.313 回答