Datetime d3.js-在xAxis上显示时间

Datetime d3.js-在xAxis上显示时间,datetime,d3.js,axis,timeline,Datetime,D3.js,Axis,Timeline,我在做类似的事情。我采用了这个例子 但是我想要一个x轴来显示日期,而不是像示例中那样只显示一些数字。下面是我代码的重要部分:但它不起作用。我错过了什么可以改变的吗 var lanes = ["lane1","lane2"], laneLength = lanes.length, items = [{"lane": 0, "id": "before", "start": "2012-04-23 18:25:43", "end": "2012-05-23 18:25:

我在做类似的事情。我采用了这个例子

但是我想要一个x轴来显示日期,而不是像示例中那样只显示一些数字。下面是我代码的重要部分:但它不起作用。我错过了什么可以改变的吗

var lanes = ["lane1","lane2"],
        laneLength = lanes.length,
        items = [{"lane": 0, "id": "before", "start": "2012-04-23 18:25:43", "end": "2012-05-23 18:25:43"},
                {"lane": 0, "id": "crossing", "start": "2012-04-23 18:25:43", "end": "2012-05-23 18:25:43"},
                {"lane": 0, "id": "after", "start": "2012-04-23 18:25:43", "end": "2012-05-23 18:25:43"},
                {"lane": 1, "id": "before", "start": "2012-04-23 18:25:43", "end": "2012-05-23 18:25:43"},
                {"lane": 1, "id": "crossing", "start": "2012-04-23 18:25:43", "end": "2012-05-23 18:25:43"},
                {"lane": 1, "id": "after", "start": "2012-04-23 18:25:43", "end": "2012-05-23 18:25:43"}]
        timeBegin = "2012-04-23 18:25:43",
        timeEnd = "2012-05-23 18:25:43";



        //scales
        var x = d3.time.scale()
                .domain([timeBegin, timeEnd])
                .range([0, w]);
        var x1 = d3.time.scale()
                .range([0, w]);


           //xAxis
        var xAxis = d3.svg.axis()
                    .scale(x)
                    .orient("top");


        chart.append("g")
      .attr("class", "x axisTime")
      .attr("transform", "translate(" + m[3] + "," + (mainHeight + m[0]) + ")")
      .call(xAxis);

您需要解析日期。请看,我现在已经更新了:但它仍然不工作!您需要将域正确设置为正确的范围。你对矩形宽度的计算是错误的:谢谢!现在它开始工作了!