次のデータセットがあります。
var data = [
{
"air_used": 0.660985,
"datestr": "2012-12-01 00:00:00",
"energy_used": 0.106402
},
{
"air_used": 0.824746,
"datestr": "2013-01-01 00:00:00",
"energy_used": 0.250462
} ...
]
そして、次のような棒グラフ (air_used の場合) と折れ線グラフ (energy_used の場合) を描きたいと思います。
私の問題は、現時点では、私が使用している x スケールでは、グラフが次のように見えることです。基本的にバーが間違った位置にあり、最後のバーがチャートから外れています。
これは、完全なコードと作業グラフを含む JSFiddle です: http://jsfiddle.net/aWJtJ/4/
私が望むものを達成するには、最初のデータポイントの前と最後のデータポイントの後に余分な幅があり、バーがすべての幅の半分だけ左にシフトするように x スケールを修正する必要があると思います各バー。
Xスケールで何をする必要があるかを理解してくれる人はいますか?
ドメインに余分な月を追加しようとしました-これにより、最後のバーがグラフの最後から落ちるのを防ぎますが、不要な余分な目盛りも追加され、線の位置が修正されませんグラフと目盛り。
D3 の巧妙な時間ベースのティック フォーマッタと日付パーサーを使用したいので、可能であれば、序数スケールではなく x 軸の時間スケールを使用したいと考えていますxAxis.ticks(d3.time.weeks, 2)
。