Javascript 在轴和起点之间添加间距

Javascript 在轴和起点之间添加间距,javascript,d3.js,svg,Javascript,D3.js,Svg,我想在x轴上的0和March之间添加间距,以便看起来更好 开始日期和结束日期通过d3.min和d3.max计算 因此,这些列看起来很糟糕,因为它们的宽度 var x = d3.scaleTime().range([0, width]); var datestart = d3.min(data, function(d) { return parseDate(d.date); }); var dateend = d3.max(data, function(d) { return parseDate

我想在x轴上的
0
March
之间添加间距,以便看起来更好

开始日期和结束日期通过
d3.min
d3.max
计算

因此,这些列看起来很糟糕,因为它们的宽度

var x = d3.scaleTime().range([0, width]);

var datestart = d3.min(data, function(d) { return parseDate(d.date); });
var dateend = d3.max(data, function(d) { return parseDate(d.date);});

x.domain([datestart, dateend]);

我该怎么做?如何使用
d3.scaleTime()

添加填充正如您在(可能是回复?)中提到的,时间刻度中没有填充

因此,这里的问题是一个不时出现的问题(没有双关语):你在任务中使用了错误的工具。条形图应始终使用分类(定性)量表,而不是定量量表或时间量表

但是,如果您确实需要在此处使用时间刻度(无论出于何种原因),可以使用在域中添加填充

例如,这将在域开始时减去15天,在域结束时加上15天:

var datestart = d3.min(data, function(d) { 
    return d3.timeDay.offset(parseDate(d.date), -15);
    //subtract 15 days here ---------------------^ 
});

var dateend = d3.max(data, function(d) { 
    return d3.timeDay.offset(parseDate(d.date), 15);
    //add 15 days here -------------------------^
});
可以调整该值,直到有足够的填充。由于我不知道如何计算条形图的宽度(同样,条形图不应在时间刻度中使用),15天只是一个猜测。

scaleband()有padding()函数,但scaletime()没有