我有一个线性刻度,我将它用于图表中的一个轴。
我想定义一个只显示正数的自定义格式,按照这个例子,我以这种方式创建了一个 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
)
);