簡體   English   中英

如何檢查值是否在 d3 比例范圍內

[英]How can I check if a value is inside of a d3 scale range

我使用d3 的 scaleLinear 我想過濾規模域之外的值。

var arr = [0, 1, 15, 60, 700];

var scaleX = d3.scaleLinear()
    .domain([10, 100])
    .range([0, 200]);

// I need something like this:
scaleX.filter(arr)  // I want to get: [1, 15, 60]

我最好的解決方案是 foreach 所有值並檢查域的最小值/最大值是否小於/大於給定值。 像這樣。

有沒有更緊湊的解決方案?

var filteredArr = arr.filter(function(d) { 
    return d >= scaleX.domain()[0] && d <= scaleX.domain()[1]
})

將過濾器方法應用於arr變量:

const filteredArray = arr.filter(function (value) { return ((value >= 10) && (value <= 100)) });

filteredArray將只包含 10 到 100(含)之間的值。

您可以在此處閱讀有關.filter方法的更多信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM