0

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

我想定义一个只显示正数的自定义格式,按照这个例子,我以这种方式创建了一个 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 }]
    ]);

但我不知道如何定义empty数字格式(链接到文档

有人有想法吗?谢谢

编辑

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

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

回答

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

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

0 回答 0