Javascript D3.js刷子和;缩放以按缩放范围重新缩放Y轴';s值

Javascript D3.js刷子和;缩放以按缩放范围重新缩放Y轴';s值,javascript,d3.js,Javascript,D3.js,修改此演示时,根据缩放范围的值自动缩放Y轴范围/域的最优雅方式是什么 一定有一些d3缩放方法可以实现访问缩放范围的值,但还没有弄清楚哪些是…?我不知道什么是最优雅的方式(直到有人展示)。然而,这是我的解决方案 首先,我们根据缩放过滤数据: var filteredData = data.filter(d=>d.date > x.domain()[0] && d.date < x.domain()[1]); 这是演示,放大和缩小以查看y轴的变化: 当您放大过

修改此演示时,根据缩放范围的值自动缩放Y轴范围/域的最优雅方式是什么

一定有一些d3缩放方法可以实现访问缩放范围的值,但还没有弄清楚哪些是…?

我不知道什么是最优雅的方式(直到有人展示)。然而,这是我的解决方案

首先,我们根据缩放过滤数据:

var filteredData = data.filter(d=>d.date > x.domain()[0] && d.date < x.domain()[1]);
这是演示,放大和缩小以查看y轴的变化:

当您放大过多时,此另一版本会避免NaN:


PS:我必须移动一些函数(由于范围问题),以便访问函数中的
数据
缩放

您也可以在brushed()函数中执行相同的操作,以便y轴在刷子时重新缩放。
y.domain([0, d3.max(filteredData, function(d) { return d.price; })]);