我正在用
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
因此,向上舍入到最接近千分之一的简单操作可能会起作用,但随着数字变大,我需要逐渐增加. (在第一个例子中,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;
- }
我会做一个高于最高值的数字,比如$highestValue * 1.05或者其他东西.你仍然会面临IE的异常问题 –
- 4
- 5
- 12
- 2
- 1
- 4
- 4266
在这种情况下,您将失去较低数字的分辨率.如果要丢弃任何异常值,可以测试每个元素的标准偏差.