JS--计算序列的上下边界

一般用于绘制折线图的时候,计算Y轴的上下边界,使得绘制出来的折线波动性看起来较强。

/**
 * 计算序列的上下边界
 * @param array 元素为数字的数组
 * @param upperLimit 上边界比值, (上边 - 最大值) / (最大值 - 最小值)
 * @param lowerLimit 下边界比值, (最小值 - 下边) / (最大值 - 最小值)
 */
export const calcBoundary = (array, upperLimit = 0.05, lowerLimit = 0.05) => {
  let delNull = JSON.parse(JSON.stringify(array))
  delNull = delNull.filter(item => { // 去除有null的数据的情况
    if ((item !== null)) return item
  })
  const maxVal = Math.max(...delNull)
  const minVal = Math.min(...delNull)
  const height = maxVal - minVal
  let upperVal = parseFloat((maxVal + Math.abs(height) * upperLimit))
  let lowerVal = (parseFloat(minVal - Math.abs(height) * lowerLimit)).toFixed(3)
  return { upperVal, lowerVal }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值