d3.js - 如何在时标轴上更改rect的x位置?

时间:2012-05-12 17:28:56

标签: svg d3.js

我在时间刻度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引用,但是失败了。

1 个答案:

答案 0 :(得分:0)

问题确实是在设置x属性时,问题出现在bar_graph.x()语句中,尝试做这样的事情:

.attr("x", function(d) {return x(d.dateVal)-barwidth/2;})

请在此处查看完整实施:http://jsfiddle.net/qAHC2/4/