algorithm - 一组数字的百分比

标签 algorithm percentage

我被要求制作一个图表来显示每个页面上有多少用户。该图表将采用颜色编码,其中用户最多的页面将具有 100% 的不透明度,查看者最少的页面将具有 40% 的不透明度,中间的页面将具有相应的不透明度。

所以,我需要一组数字

  • 最大数为 100%
  • 最小数字为 40%
  • 两者之间的数字介于 100% 和 40% 之间

数字可以是 1 或更大的任何整数。

给定 1000, 500, 100, 50

  • 1000 应该是 100%
  • 应该是 500 ??
  • 应该是 100 ??
  • 50 应该是 40%

或者,给定 2, 1

  • 2 应为 100%
  • 1 应为 40%

或者给出 1000, 1

  • 1000 应该是 100%
  • 1 应为 40%

或者给出 7485, 395, 3

  • 7485 应为 100%
  • 395应该是??
  • 3 应为 40%

我希望这是有道理的。

我可以用什么方程来解决这个问题?

我知道要得到的百分比只是(#/largest_number) * 100,但我在尝试将其置于 100% 到 40% 之间时迷失了

我能得到的最接近的是((#/largest_number) * 60) + 40,但是假设0是最小的数字,并且给我43作为第一组数字中的最小数字(50) 而不是我需要的 40%。

提前致谢!

最佳答案

不要用 (#/largest_number) * 100 获取百分比,而是 x = ((# - lower_number)/(largest_number - lower_number) * 100

>

这是一个基本的标准化函数 - see here for details .

这样最大数字将始终映射到1,而lowest_number将始终映射到0,然后你可以使用您的函数 (x * 60) + 40

进行插值

关于algorithm - 一组数字的百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66500875/

相关文章:

python - 如何在 Python 中高效地对大型矩阵执行网格搜索?

javascript - 在 es6 中查找我的树级宽度算法中的错误

java - 按百分比设置JTable的列宽

mysql - 基于 >1 列获取列的百分比

php - 如何将百分比(例如 25%)简化为简单的陈述(例如 4 中的 1)?

php - 兔龟计算

python - 关于karatsuba乘法的问题

Python:通过嵌入复杂的算法改进子字符串搜索

java - 获取图像模糊的百分比

c++ - 我怎样才能让我的代码随机打印一个字符或字符串?