Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在JavaScript中缩放一系列数字,使得中间范围中的整数变大,外极限数保持不变。_Javascript_Math_Range - Fatal编程技术网

如何在JavaScript中缩放一系列数字,使得中间范围中的整数变大,外极限数保持不变。

如何在JavaScript中缩放一系列数字,使得中间范围中的整数变大,外极限数保持不变。,javascript,math,range,Javascript,Math,Range,我有一群用户在进行民意调查,我想通过一些圆圈在屏幕上显示这些结果,这些圆圈的大小根据投票赞成答案的人的百分比而变化。目前的情况是,因为不太可能100%的人都投票支持同一个答案(比如说,大多数答案都在10-40%的范围内)——所以大小的变化看起来并没有那么大。但如果我为此调整了圆圈的范围,那么如果受访者都投票支持同一个答案,那么圆圈就太大了 我需要一种方法来缩放这些数字,以便这些中间范围的数字向其外部范围更加突出(因此,10%的数字可能看起来更接近于0%,40%的数字可能看起来更接近于100%)

我有一群用户在进行民意调查,我想通过一些圆圈在屏幕上显示这些结果,这些圆圈的大小根据投票赞成答案的人的百分比而变化。目前的情况是,因为不太可能100%的人都投票支持同一个答案(比如说,大多数答案都在10-40%的范围内)——所以大小的变化看起来并没有那么大。但如果我为此调整了圆圈的范围,那么如果受访者都投票支持同一个答案,那么圆圈就太大了

我需要一种方法来缩放这些数字,以便这些中间范围的数字向其外部范围更加突出(因此,10%的数字可能看起来更接近于0%,40%的数字可能看起来更接近于100%)


我该怎么做?任何人都知道这个函数(甚至数学概念)。我的算术已经过时了…

你应该首先确定最大圆的大小。然后根据它确定百分比

例如,如果最大圆的直径为100像素,那么最大值的40%是多少

或者,为了使最大的pct占据最大值的100%,您可以将最大像素(100)除以最大pct(40)。因此,100/40=2.5


现在,您可以将所有圆的大小缩放为正常大小的2.5倍。

请关闭此问题并继续提问。然后,您可以将从中获得的数学概念应用到JS。我在数学堆栈交换中被滥用……我认为这让我更接近了。唯一的问题是,缩放量应该是一个逻辑和可预测的分布离子-这意味着,100%的响应率看起来总是比40%的响应率大,但是40%的响应率,因为对于典型的响应,它往往在更高的范围内,会比最大像素大小(40px)的40%大。然后不要执行缩放缩放