線形目盛りがあり、チャートの軸の 1 つに使用しています。
正の数のみを表示するカスタム形式を定義したいので、この例に従って、次の方法で 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
)
);