Javascript 根据笔刷选择自动调整d3.js图表y比例
我使用的是d3.jsv4 是否有更方便的方法来查找笔刷选择的最小值和最大值。这意味着当我在下面的笔刷区域中选择一个周期时,可以调整y轴的大小 这是我的方法(使用画笔时调用的函数中的所有内容):Javascript 根据笔刷选择自动调整d3.js图表y比例,javascript,d3.js,Javascript,D3.js,我使用的是d3.jsv4 是否有更方便的方法来查找笔刷选择的最小值和最大值。这意味着当我在下面的笔刷区域中选择一个周期时,可以调整y轴的大小 这是我的方法(使用画笔时调用的函数中的所有内容): 我发现我的选择范围有限 extent = d3.event.selection.map(chartComponent.x2().invert)) 然后,我必须重做一个包含所有选定点的数组:我对每个点进行比较,并将其与区段[0]或区段[1]进行比较,以查看其是否在限制范围内。我存储起点和终点索引,然后
- 我发现我的选择范围有限
extent = d3.event.selection.map(chartComponent.x2().invert))
- 然后,我必须重做一个包含所有选定点的数组:我对每个点进行比较,并将其与区段[0]或区段[1]进行比较,以查看其是否在限制范围内。我存储起点和终点索引,然后在原始数据上使用data.slice(begin,end)来获得一个新数组
- 然后在新数组上应用d3.min和d3.max以查找最小和最大级别
- 然后设置y轴以使用这些限制
chart.y().domain([chartComponent.ymin, chartComponent.ymax]); chart.yaxisGraph.call(chartComponent.yAxis(true));
有人有更好的想法吗?答案是否定的,我已经实施了我的解决方案。此解决方案具有可接受的性能,因此我将坚持使用它。如果你有更好的想法,请随意留言或回答,我仍在寻找更好的。