[英]D3 bar chart by date with context brushing
我有一个 D3 条形图,X 轴上有日期/时间。 这现在运行良好,但我想在它下面添加一个较小的可刷图,但由于我必须进行一些日期操作以使条形图居中在 X 轴刻度线上,我遇到了麻烦 - 请参阅这篇文章细节。
画笔似乎没有正确计算 X 轴日期范围。
这里是x域定义和刷机功能。 完整代码的 JSFiddle。
main_x.domain([
d3.min(data.result, function(d) { return d.date.setDate(d.date.getDate() - 1); }),
d3.max(data.result, function(d) { return d.date.setDate(d.date.getDate() + 2); })
]);
function brushed() {
// I thought that re-defining the x domain without the date manipulations might work, but I
// was getting some odd results
//main_x.domain(d3.extent(data.result, function(d) { return d.date; }));
main_x.domain(brush.empty() ? main_x.domain() : brush.extent());
console.log(brush.extent());
bar.selectAll("rect")
.attr("width", function(d) { return main_width/len; })
.attr("x", function(d) { return main_x(d.date) - (main_width/len)/2; });
main.select(".x.axis").call(main_xAxis);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.