Javascript D3顺序刻度,刻度值的左右边距

Javascript D3顺序刻度,刻度值的左右边距,javascript,d3.js,Javascript,D3.js,我有一个带有顺序刻度的x轴,如本例所示: 正如你所看到的,第一个被命名为“苹果”的记号从x轴的开始开始,最后一个“葡萄柚”在最后。 我想要的是在第一个刻度上留下一些空白,在最后一个刻度上留下一些空白 这就是我想要的轴(请记住,这是一个有序的尺度,我认为它与时间尺度或线性有点不同) 这是我的代码: var x = d3.scale.ordinal() .domain(["apple", "orange", "banana", "grapefruit"])

我有一个带有顺序刻度的
x轴
,如本例所示:

正如你所看到的,第一个被命名为“苹果”的记号从x轴的开始开始,最后一个“葡萄柚”在最后。 我想要的是在第一个刻度上留下一些空白,在最后一个刻度上留下一些空白

这就是我想要的轴(请记住,这是一个有序的尺度,我认为它与时间尺度或线性有点不同)

这是我的代码:

var x = d3.scale.ordinal()
          .domain(["apple", "orange", "banana", "grapefruit"])
          .rangePoints([0, width]);

var xAxis = d3.svg.axis()
              .scale(x)
              .orient("bottom");
根据文档,您可以将顺序刻度开始和结束处的填充指定为“点间距的倍数”

尝试:

根据文档,您可以将顺序刻度开始和结束处的填充指定为“点间距的倍数”

尝试:


哇,太棒了。它完全符合我的要求。在发布之前,我已经阅读了他们的文档,但我并不完全理解rangePoints参数是如何工作的。哇,太棒了。它完全符合我的要求。在发布之前,我已经阅读了他们的文档,但我并不完全理解rangePoints参数是如何工作的。
var x = d3.scale.ordinal()
          .domain(["apple", "orange", "banana", "grapefruit"])
          .rangePoints([0, width], 1.0);