Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript D3js序号轴不显示所有刻度_Javascript_D3.js - Fatal编程技术网

Javascript D3js序号轴不显示所有刻度

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

我在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()
       .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显示所有的刻度。是的,你仍然需要刻度的定义,因为你现在有它。