我在时间刻度x轴上绘制条形图。 例如,
var x = d3.time.scale()
.domain([minDate, maxDate])
.range([0, width]);
chart.selectAll(".bar")
.data(data)
.enter().append("rect")
.attr("x", bar_graph.x())
.attr("y", d.value)
.attr("width", 10);
rect的左角从指定的x点开始,但我想将x点指定给rect的 center 。
由于是时间尺度,简单的减法x-5(假设宽度为10px)不起作用。我试过了invert(),也检查了svg引用,但是失败了。
答案 0 :(得分:0)
问题确实是在设置x属性时,问题出现在bar_graph.x()语句中,尝试做这样的事情:
.attr("x", function(d) {return x(d.dateVal)-barwidth/2;})
请在此处查看完整实施:http://jsfiddle.net/qAHC2/4/