我正在用PHP构建一个折线图.我将折线图的最大值设置为我的项目集合的最大值,但最终使图表的可读性降低,因为它与图形的顶部相交,因此无法查看图形上的最高行.所以我需要的基本上是一个公式来获取一组数字并计算线图上的逻辑最大值应该是什么..所以一些例子
3500
250
10049
45394
434
312
Max value on line graph should probably be 50000
493
412
194
783
457
344
max value on line graph would ideally be 1000
545
649
6854
5485
11545
In this case, 12000 makes sense as max value
Run Code Online (Sandbox Code Playgroud)
因此,向上舍入到最接近千分之一的简单操作可能会起作用,但随着数字变大,我需要逐渐增加.(在第一个例子中,50000而不是46,000)这些数字的最大值将是大约一百万.
非常感谢任何建议,谢谢.
以下是我的意见,谢谢大家的意见:
private function FigureMaxValue($array)
{
$highestNumber = max($array);
if ($highestNumber == 0) return 0;
$highestNumber = $highestNumber * 1.1;
(float)$highestNumber = round((float)$highestNumber, 0);
$maxValue = ceil( (integer)$highestNumber / 100 ) * 100;
return $maxValue;
}
Run Code Online (Sandbox Code Playgroud)
我只会做比最高值高出一个量级的事情,比如$highestValue * 1.05什么的。你仍然会面临 IE 异常值的问题 -
4
5
12
2
1
4
4266
Run Code Online (Sandbox Code Playgroud)
在这种情况下,您将失去对较低数字的分辨率。如果您想丢弃任何异常值,您可以测试每个元素的标准偏差。
| 归档时间: |
|
| 查看次数: |
185 次 |
| 最近记录: |