次の折れ線グラフを少し変更した例に取り組んでいます: http://bl.ocks.org/mbostock/3883245
ここに私の JS フィドルがあります: http://jsfiddle.net/rQ4xE/
目標は、一定期間ごとに異なる背景色のブロックを作成することです。色の変更は難しくありません。でも..
問題は、長方形間のさまざまなサイズのギャップです。これは、ライン パスの座標が 10 進数であり、四角形の幅を計算するときに何かが台無しになるためだと思われます。
私の質問は、間に隙間がないように背景の四角形を描画する良い方法は何でしょうか?
これは、四角形を追加する方法です。
svg.append("g").selectAll("rect")
.data(data)
.enter()
.append("rect")
.attr("class", "area")
.attr("x", function(d) { return x(d.date) })
.attr("y", 0)
.attr("width", function(d, i) {
not_last = i < data.length - 1;
return not_last ? (x(data[i+1].date)-x(d.date)) : 0;
})
.attr("height", height);