Javascript D3:如何删除Y轴顶部和底部的记号

Javascript D3:如何删除Y轴顶部和底部的记号,javascript,d3.js,data-visualization,Javascript,D3.js,Data Visualization,我不知道如何在D3图表中关闭y轴顶部和底部的刻度线。任何帮助都将不胜感激 以下是生成轴的方式: // Set the ranges var xScale = d3.time.scale().range([0, width]); var yScale = d3.scale.linear().range([height, 0]); // Define the axes var xAxis = d3.svg.axis().scale(xScale) .orient("bottom") .ti

我不知道如何在D3图表中关闭y轴顶部和底部的刻度线。任何帮助都将不胜感激

以下是生成轴的方式:

// Set the ranges
var xScale = d3.time.scale().range([0, width]);
var yScale = d3.scale.linear().range([height, 0]);

// Define the axes
var xAxis = d3.svg.axis().scale(xScale)
  .orient("bottom")
  .ticks(2)
  .tickFormat(formatTime);

var yAxis = d3.svg.axis().scale(yScale)
  .orient("left")
  .ticks(2)
  .tickFormat(d3.format("$,"));

可以使用此脚本删除y轴上的所有记号

d3.selectAll(".y.axis").selectAll(".tick").selectAll("line").remove();
更好地使用CSS

.y.axis .tick line:first-child, 
.y.axis .tick line:last-child{
   opacity: 0;
}

如果你不共享你的代码,这将很难提供帮助。在axis生成器中,放上这个(如果是v4.x):
.ticksizeout(0)
。Gerardo,我已经尝试添加这个函数,但显然做了一些错误的事情:var yAxis=d3.svg.axis().ticksizeout(0.scale.yScale.orient(“left”).ticks(2).tickFormat(d3.format(“$,”);`我得到了错误
。。。tickSizeOuter不是一个函数…
,因为您使用的是v3。我在我的评论中写了v4。在v3中是
。outerTickSize(0)
。自从上次使用v3以来,我已经很久没有使用了,所以我必须搜索API来记住它。