Datetime d3.js-在xAxis上显示时间
我在做类似的事情。我采用了这个例子 但是我想要一个x轴来显示日期,而不是像示例中那样只显示一些数字。下面是我代码的重要部分:但它不起作用。我错过了什么可以改变的吗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:
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);
您需要解析日期。请看,我现在已经更新了:但它仍然不工作!您需要将域正确设置为正确的范围。你对矩形宽度的计算是错误的:谢谢!现在它开始工作了!