diff options
Diffstat (limited to 'boca-1.5.0/src/libchart/classes/Axis.php')
| -rw-r--r-- | boca-1.5.0/src/libchart/classes/Axis.php | 167 |
1 files changed, 0 insertions, 167 deletions
diff --git a/boca-1.5.0/src/libchart/classes/Axis.php b/boca-1.5.0/src/libchart/classes/Axis.php deleted file mode 100644 index c80fe97..0000000 --- a/boca-1.5.0/src/libchart/classes/Axis.php +++ /dev/null @@ -1,167 +0,0 @@ -<?php - /** Libchart - PHP chart library - * - * Copyright (C) 2005-2006 Jean-Marc Trémeaux (jm.tremeaux at gmail.com) - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - - /** - * Automatic axis boundaries and ticks calibration - * - * @author Jean-Marc Trémeaux (jm.tremeaux at gmail.com) - */ - - class Axis - { - /** - * Creates a new axis formatter - * - * @access public - * @param integer minimum value on the axis - * @param integer maximum value on the axis - */ - - function Axis($min, $max) - { - $this->min = $min; - $this->max = $max; - - $this->guide = 10; - } - - /** - * Computes value between two ticks - * - * @access private - */ - - function quantizeTics() - { - // Approximate number of decades, in [1..10[ - - $norm = $this->delta / $this->magnitude; - - // Approximate number of tics per decade - - $posns = $this->guide / $norm; - - if ($posns > 20) - $tics = 0.05; // e.g. 0, .05, .10, ... - else - if ($posns > 10) - $tics = 0.2; // e.g. 0, .1, .2, ... - else - if ($posns > 5) - $tics = 0.4; // e.g. 0, 0.2, 0.4, ... - else - if ($posns > 3) - $tics = 0.5; // e.g. 0, 0.5, 1, ... - else - if ($posns > 2) - $tics = 1; // e.g. 0, 1, 2, ... - else - if ($posns > 0.25) - $tics = 2; // e.g. 0, 2, 4, 6 - else - $tics = ceil($norm); - - $this->tics = $tics * $this->magnitude; - } - - /** - * Computes automatic boundaries on the axis - * - * @access public - */ - - function computeBoundaries() - { - // Range - - $this->delta = abs($this->max - $this->min); - - // Check for null distribution - - if($this->delta == 0) - $this->delta = 1; - - // Order of magnitude of range - - $this->magnitude = pow(10, floor(log10($this->delta))); - - $this->quantizeTics(); - - $this->displayMin = floor($this->min / $this->tics) * $this->tics; - $this->displayMax = ceil($this->max / $this->tics) * $this->tics; - $this->displayDelta = $this->displayMax - $this->displayMin; - - // Check for null distribution - - if($this->displayDelta == 0) - $this->displayDelta = 1; - } - - /** - * Set boundaries on the axis. Theses values override the automatic values. - * - * @access public - */ - - function setBoundaries($sampleCount, $yMinValue, $yMaxValue) - { - $this->sampleCount = $sampleCount; - $this->yMinValue = $yMinValue; - $this->yMaxValue = $yMaxValue; - } - - /** - * Get the lower boundary on the axis - * - * @access public - * @return integer lower boundary on the axis - */ - - function getLowerBoundary() - { - return $this->displayMin; - } - - /** - * Get the upper boundary on the axis - * - * @access public - * @return integer upper boundary on the axis - */ - - function getUpperBoundary() - { - return $this->displayMax; - } - - /** - * Get the value between two ticks - * - * @access public - * @return integer value between two ticks - */ - - function getTics() - { - return $this->tics; - } - } -?> |