将一个范围内的数映射至另一范围内

在使用echarts的图表时遇到了需要将数据映射至一个范围内方便控制散点图的点大小的问题。
具体的做法是先获取到数据的最大值和最小值从而确定数据的范围,再确定所需绘制散点的大小范围。
在 outMin-outMax 到 inMin-inMax 中返回 num 的映射:

function mapNumRange(num, inMin, inMax, outMin, outMax) {
    return ((num - inMin) * (outMax - outMin)) / (inMax - inMin) + outMin;
  }

如求 5 在 [0, 10] 和 [0, 100] 中的映射:

mapNumRange(5, 0, 10, 0, 100); // 50

你可能感兴趣的:(将一个范围内的数映射至另一范围内)