我想在x轴上添加Article
和0
之间的间距,以便它看起来更好。
startdate 和 enddate 由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]);
添加填充?
答案 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天只是猜测。