我有以下数据集:
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-scale 做什么?
我已经尝试在域中添加一个额外的月份 - 这可以阻止最后一个条从图表的末尾掉下来,但它也添加了一个我不想要的额外刻度,并且它不能修复线的位置图表和刻度。
如果可能的话,我想继续使用 x 轴的时间刻度,而不是序数刻度,因为我想使用 D3 聪明的基于时间的刻度格式化程序和日期解析器,例如xAxis.ticks(d3.time.weeks, 2)
.