Javascript D3js序号轴不显示所有刻度
我在d3中实例化了一个序数标度,并将其与一个轴相关联。然后将轴附加到页面上的SVG画布上;这里有一个片段:Javascript D3js序号轴不显示所有刻度,javascript,d3.js,Javascript,D3.js,我在d3中实例化了一个序数标度,并将其与一个轴相关联。然后将轴附加到页面上的SVG画布上;这里有一个片段: var arange = [1,2,3,4,5]; var ticks = ['one' , 'two', 'three', 'four', 'five']; var myScale = d3.scale.ordinal(); myScale.range(arange) .domain(ticks); var myAxis = d3.svg.axis() .scal
var arange = [1,2,3,4,5];
var ticks = ['one' , 'two', 'three', 'four', 'five'];
var myScale = d3.scale.ordinal();
myScale.range(arange)
.domain(ticks);
var myAxis = d3.svg.axis()
.scale(myScale)
.orient("bottom");
canvas.append("g")
.attr("class", "time axis")
.attr("transform" , "translate ("+myOrigin[0]+" , "+myOrigin[1]+")")
.call(myAxis);
如果我以后更改刻度(添加另一个刻度和相应的范围,即arange=[1,2,3,4,5,6]和刻度=['1','2','3','4','5','6']),轴的长度正好达到新的范围,但并不是所有的刻度都被绘制出来:末端的一些刻度不知何故丢失了
您能告诉我吗?强制D3显示所有标签的唯一方法是显式地将它们设置为刻度值。在您的情况下,这将如下所示:
var myAxis = d3.svg.axis()
.scale(myScale)
.tickValues(ticks)
.orient("bottom");
那么,在
myScale
的域中,滴答声的定义是否有用?我的意思是,在我的例子中,我希望d3显示所有的刻度。是的,你仍然需要刻度的定义,因为你现在有它。