私はd3.jsでグラフを描いています。 x軸は時間(分)を表します。私はこの軸をhh:mm
形式で表示したいと思います.d3内でこれをきれいに行う方法は見つけられません。d3.jsで時間軸と数分のカスタム軸フォーマッタを作成するにはどうすればよいですか?
マイ軸コードは次のようになります。
[100, 115, 130, 140]
のように見える分のラベルを生成
svg.append('g')
.attr('class', 'x axis')
.attr('transform', 'translate(0,' + height + ')')
.call(d3.svg.axis()
.scale(x)
.orient('bottom'));
など
それらが生成されてきた後に私の現在のソリューションはtext
要素を選択することです
svg.selectAll('.x.axis text')
.text(function(d) {
d = d.toFixed();
var hours = Math.floor(d/60);
var minutes = pad((d % 60), 2);
return hours + ":" + minutes;
});
これは軸を出力します[1:40, 1:55, 2:10]
などのようなダニです。
しかしこれは気分が悪く、d3.format
の使用を避けています。これらのラベルを作成するより良い方法はありますか?あなたは絶対時間を持っている場合は
私は、私が言及している必要があると仮定し、私のユースケースは、(時間を表すビニングオブジェクトと)ヒストグラムです。私はこれが序数的なスケールを設定すると確信しているので、私はこの仕事をすることができませんでした。多分私は互換性のない概念を混ぜ合わせているだけでしょうか? 私のコード(下の軸)は次のとおりです。http://pastebin.com/Wkcexcgr – matthewsteele
私は自分の答えを編集し、2番目のテクニックを継続時間のヒストグラムとともに使用する方法を示す例を追加しました。 – mbostock
これはそれでした。あなたのすべての協力に感謝します!あなたが作ったものに本当に驚いています。 – matthewsteele