我正在用html / css / php创建一个水平条形图。第一个值应为100%,宽度为425px。之后的每个值(较低)需要将其宽度计算为425px的百分比。
所以说第一个值是63,宽度是425px(100%)。我需要找出下一个宽度,如果下一个是50,那么31,27等等......
我对标记等很好,这是我试图理解的数学计算。
答案 0 :(得分:2)
除以总数100
乘以百分比
例如
425 / 100 = 4.25
25% = 4.25 x 25
答案 1 :(得分:2)
function calc_width($max_width, $max_value, $value) {
return $max_width * $value / $max_value;
}
由于$value / $max_width
是适当的分数,因此您可以将该分数的最大宽度加倍,以便为以后的值获得适当的宽度。
答案 2 :(得分:1)
将最高数字除以100得到一个百分比,然后乘以所需的百分比数。
$maxWidth = 425; //The highest width
$onePercentage = $maxWidth / 100; //Calculate one percentage
$values[31] = $onePercentage * 31; //Times 31
答案 3 :(得分:1)
很容易说“除以100%并乘以百分比”,但这是不正确,因为从长远来看会导致不准确。正确的方法是保持宽度和百分比数组,并从开头和上一个累积宽度计算每个宽度。
如果你愿意的话,将29px分成4个25%的部分:
29px * 25%= 7px
4个宽度7px等于 28px 总
累积计算:
29px * 25%= 7px
29px * 50%= 15px
29px * 75%= 22px
29px * 100%= 29px
4个宽度为7,8,7,7px等于 29px 总数