X 軸にタイム スケールを持つ D3 棒グラフを作成しています。x 軸の範囲はさまざまです。
棒グラフの棒の正しい幅を指定するにはどうすればよいですか? 序数スケールを使用rangeBands
している人を見たことがありますが、時間スケールでこれを行う方法がわかりません。
これが私のコードです:
var x = d3.time.scale().range([0, width]);
var xAxis = d3.svg.axis().scale(x).orient("bottom");
[...]
// After new data has been fetched, update the domain of x...
x.domain(d3.extent(data, function(d) { return d.date; }));
d3.select(".x.axis").call(xAxis);
// ... and draw bars for chart
var bars = svg.selectAll(".air_used")
.data(data, function(d) { return d.date; });
bars.attr("y", function(d) { return y(d.air_used); })
.attr("height", function(d) { return height - y(d.air_used); })
.attr("x", function(d) { return x(d.date); })
.attr("width", 20) // ??
20 の代わりに、最後の行に何を入力すればよいですか?
更新: JSFiddle はこちら: http://jsfiddle.net/aWJtJ/2/