Javascript 在轴和起点之间添加间距
我想在x轴上的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
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()没有