在轴和起点之间添加间距

时间:2018-05-08 22:29:11

标签: javascript d3.js svg

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

startdate enddate Marchd3.min计算。

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

d3.max

enter image description here

我该怎么做?如何使用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]); 添加填充?

1 个答案:

答案 0 :(得分:2)

正如您在comment中提到的(可能是回复?),时间范围内没有填充。

因此,这里的问题是在SO上不时出现(没有双关语):你正在使用错误的工具完成任务。条形图应始终使用分类(定性)比例,而不是定量比例或时间比例。

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

例如,这会在您的域名开头减去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天只是猜测。