从多行数据数组中获取 d3 范围(最小值/最大值)



我想使用 d3 中的范围函数从数据数组中查找最小/最大值。我有格式为 (x,y1,y2( 的数组,现在我能够获得 y1 或 y2 的范围,但无法同时获得 y1 和 y2 的范围。我希望我的函数给我 y1 和 y2 的范围。请看一下我的代码。

<script src="https://d3js.org/d3.v5.min.js"></script>
<script>
data = [{x:1,y1:15,y2:23},{x:2,y1:26,y2:12},{x:3,y1:17,y2:17},{x:4,y1:21,y2:22},];
var yExtent = d3.extent(data, function(d) { return d.y1; });
console.log(yExtent);
</script>

<script src="https://d3js.org/d3.v5.min.js"></script>
<script>
data = [{x:1,y1:15,y2:23},{x:2,y1:26,y2:12},{x:3,y1:17,y2:17},{x:4,y1:21,y2:22},];
var yExtent = [d3.max(data,function(d){return Math.max(d.y1, d.y2);}), d3.min(data,function(d){return Math.min(d.y1, d.y2);})];
console.log(yExtent);
</script>

最新更新