我需要实现一个从三个点插入指数曲线的函数,但我不知道该怎么做。
我的图表的Y轴为百分比,0到100%,X为0到10。
我知道的唯一要点是(50,7),(100,10)和(0,0)。
我知道我可以创建一个具有百分比和值的数组并循环遍历它,但这并不像是“正确”的方式。有更直接的算法吗?
答案 0 :(得分:1)
我会使用公式:
partial : total = % : 100
partial (the value) = (total * %) / 100
<强>代码强>
<?php
$points = array("8%,67%","36%,74%","73%,13%");
function return_value($percentage,$total) {
$value = ($total * $percentage) / 100.0;
return $value;
}
function evaluate_points($points) {
$max_x = 100.0; // As float value
$max_y = 10.0; // As float value
for ($point = 0; $point < count($points); $point++) {
//Replace the % sign
$points[$point] = str_replace("%", "", $points[$point]);
$point_percentages = explode(",", $points[$point]);
$x_percentage = $point_percentages[0];
$y_percentage = $point_percentages[1];
echo("The value for x is : ".return_value($x_percentage,$max_x) ."<br>");
echo("The value for y is : ".return_value($y_percentage,$max_y). "<br><br>");
}
}
evaluate_points($points);
?>
输出