asp*_*aga 1 algorithm math graph
我有6个图形条和价格.
每个价格编号将通过尊重min和max高度表示其图形栏的高度.
我想要的是图形条的高度不会低于或高于min该max值.
所以我有min = 55和的价值观max = 110.
并且price numbers是:
通过哪种数学算法我可以达到预期的效果?
它是某种动态可扩展条形图.
修改
因此价格表中的最小值和最大值将为:49(min price) => 55(min)和1081 (max price) => 110(max)
解决方案很简单:
ratio = (max-min)/(largest_item-smallest_item)final_value = min_value + ratio*(value-smallest_item)作为一个数学函数:
f(x,max,min,largest,smallest) = min + (max-min)/(largest-smallest)*(x-smallest)
where:
x : Input item's price
max: Maximum value (here, 110)
min: Minimum value (here, 55)
largest: Largest item in input (Here, 1081)
smallest: Smallest item in input (Here, 49)
Run Code Online (Sandbox Code Playgroud)
一个检查,正如@amit正确指出:确保最大和最小的项目是不同的.
所以让x = 93.我们还有其他4个值.
f(x,max,min,largest,smallest) = min + (max-min)/(largest-smallest)*(x-smallest)
value = 55 + ((110-55)/(1081-49)) * (93-49)
value = 57.344961
Run Code Online (Sandbox Code Playgroud)
进一步,
f(93,110,55,1081,49) = 57.344961
f(49,110,55,1081,49) = 55
f(1081,110,55,1081,49) = 110
Run Code Online (Sandbox Code Playgroud)