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

在使用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
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容