1

见:http: //jsfiddle.net/bQHjj/

沿着绿线,圆圈应该与我的 x 轴垂直对齐,但它们都向右移动了几个像素。

X 轴没有显示它的第一个刻度,它应该是 01.05.2013。

我的 x 轴设置:

var xAxis = d3.svg.axis().scale(x).ticks(d3.time.days, 1).tickFormat(d3.time.format("%d.%m.%Y"));

graph.append("svg:g")
        .attr("class", "x axis")
        .attr("transform", "translate(0," + h + ")")
        .call(xAxis)
        .selectAll("text")
        .style("text-anchor", "end")
        .attr("dx", "-.8em")
        .attr("dy", ".15em")
        .attr("transform", function (d) {
        return "rotate(-65)"
    });

谁能告诉我怎么了?

4

1 回答 1

1

您的日期解析功能不正确,它似乎弄乱了时区,因为new Date(string)显然假定为 UTC。这将起作用:

var format = d3.time.format("%Y-%m-%d");
function getDate(d) {
    return format.parse(d.date);
}

cf更新的小提琴

于 2013-05-04T18:26:16.407 回答