【问题标题】:D3 ordinal scale, left and right margins for tickvaluesD3 序数刻度,刻度值的左右边距
【发布时间】:2016-01-21 15:54:12
【问题描述】:

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

如您所见,名为“apple”的第一个刻度从 x 轴的开头开始,最后一个“grapefruit”位于末尾。 我想要的是为第一个刻度留下一些填充,为最后一个刻度留下一些填充。

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

这是我的代码:

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

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

【问题讨论】:

    标签: javascript d3.js


    【解决方案1】:

    根据文档https://github.com/mbostock/d3/wiki/Ordinal-Scales,您可以指定序数刻度开始和结束处的填充“作为点间距的倍数”

    试试:

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

    【讨论】:

    • 哇,太棒了。它完全按照我的意愿工作。在发布之前我已经阅读了他们的文档,但我不明白 rangePoints 参数是如何工作的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-03
    • 1970-01-01
    • 1970-01-01
    • 2013-04-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多