我正在研究以下折线图的略微修改示例:http: //bl.ocks.org/mbostock/3883245
这是我的 JS 小提琴:http: //jsfiddle.net/rQ4xE/
目标是在一段时间内使背景颜色块不同。改变颜色并不难。然而..
问题是矩形之间不同大小的间隙。我怀疑这是因为线路径的坐标是十进制的,并且在计算矩形的宽度时会出现问题。
我的问题是什么是绘制背景矩形的好方法,以便两者之间没有间隙?
这就是我添加矩形的方式:
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);