在你指的是Brush & Zoom例子中,有下列行:
var focus = svg.append("g")
.attr("class", "focus")
.attr("transform", "translate(" + margin.left + "," + margin.top + ")");
var context = svg.append("g")
.attr("class", "context")
.attr("transform", "translate(" + margin2.left + "," + margin2.top + ")");
...
svg.append("rect")
.attr("class", "zoom")
.attr("width", width)
.attr("height", height)
.attr("transform", "translate(" + margin.left + "," + margin.top + ")")
.call(zoom);
这些指定图表区域,刷区域和缩放区域的位置。您只需调整在脚本开始处指定的margin
和margin2
值,或者在此处明确设置不同的转换。
你需要有margin.top > margin2.top
,并调整底部边距。
根据你的例子,你正在使用d3 v3?如果你不受版本限制,看看版本4和[刷模块](https://github.com/d3/d3-brush);它比较前面的刷子功能有一定的方便性,并且在整个区域上有一些使用刷子的例子(比如[this one](http://bl.ocks.org/mbostock/0d20834e3d5a46138752f86b9b79727e))。 – mgc