D3中的自定义线性刻度

时间:2013-07-26 09:09:30

标签: d3.js

我有一个线性刻度,我将它用于图表中的一个轴。

我想定义一个只显示正数的自定义格式,然后按照this示例我以这种方式创建了一个customFormat:

    function yFormat(formats) {
        return function(value) {
            var i = formats.length - 1, f = formats[i];
            while (!f[1](value)) f = formats[--i];
            return f[0](value);
        };
    }

    var customFormat = yFormat([
        [d3.format("?????"), function() { return true }],
        [d3.format("d"), function(d) { return d >= 0 }]
    ]);

但我不知道如何为Numbers定义empty格式(link to doc

有人有想法吗?感谢

修改

d3.format("")似乎适用于时间尺度,但不适用于线性尺度。在控制台中:

> var emptyTime = d3.time.format("");
  undefined
> emptyTime("something");
  ""
> var emptyInt = d3.format("");
  undefined
> emptyInt(5);
  "5"

ANSWER

我只是在轴上使用tickValues。所以,像:

yAxis.tickValues(
            d3.range(
                0,
                d3.max(y.domain()),
                shift
            )
        );

0 个答案:

没有答案