Javascript 使用d3创建时间刻度宽度

Javascript 使用d3创建时间刻度宽度,javascript,d3.js,Javascript,D3.js,我正在尝试创建以时间为x轴的条形图 我的数据: var data = [ {key: "Glazed", start:"2014/01/01", value: 92}, ....// and so on 这里的值是以分钟为单位的时间 对于缩放,我使用: var dateParser = d3.time.format("%Y/%m/%d").parse; var x = d3.time.scale() .domain(d3.extent(data,

我正在尝试创建以时间为x轴的条形图

我的数据:

var data = [
    {key: "Glazed", start:"2014/01/01", value: 92},
     ....// and so on
这里的值是以分钟为单位的时间

对于缩放,我使用:

var dateParser = d3.time.format("%Y/%m/%d").parse;
       var x = d3.time.scale()
        .domain(d3.extent(data, function(d){
            var date = dateParser(d.start);
            return date;
        }))
        .range([0,width]);
要获取图表中的x值,我使用:

.attr("x",  function(d){
    var date = dateParser(d.start);
            return x(date);
        })
要获得无刻度的宽度,我可以使用:

.attr("width", function(d){
       return d.value;
                })
在这种情况下,我不知道如何使用宽度和比例

我们衷心感谢您的帮助


谢谢

条形图的宽度是由持续时间或类似时间决定的吗?是什么决定了它?宽度是由d.value决定的,以分钟为单位。因此,你可以将分钟数加到解析的日期中,传递给刻度,然后减去原始日期的刻度值,得到宽度。啊,对了,只需在日期前加上一个+即可:
x(+dateParser(d.start)+d.value*60*1000)-x(dateParser(d.start))
它将其转换为数字。