D3序数标度,左右边距为滴答值

时间:2016-01-21 15:54:12

标签: javascript d3.js

我有一个带有序数比例的x-axis,就像在这个例子中一样: http://bl.ocks.org/mbostock/3259783

正如你所看到的,第一个名为'apple'的刻度从x轴的开头开始,最后一个'葡萄柚'在最后。 我想要的是为第一个刻度留下一些填充,并为最后一个刻度填充正确。

这是我想要的轴(也记住这是一个序数尺度,我认为它与时间尺度或线性有点不同) enter image description here

这是我的代码:

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

var xAxis = d3.svg.axis()
              .scale(x)
              .orient("bottom");

1 个答案:

答案 0 :(得分:4)

根据文档https://github.com/mbostock/d3/wiki/Ordinal-Scales,您可以在序数比例"的开头和结尾指定填充,作为点之间间距的倍数"

尝试:

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