我有一个线性刻度,我将它用于图表中的一个轴。
我想定义一个只显示正数的自定义格式,然后按照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
)
);