mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
Move third party software to html/lib form html/includes
This commit is contained in:
181
html/lib/jpgraph/jpgraph_error.php
Normal file
181
html/lib/jpgraph/jpgraph_error.php
Normal file
@@ -0,0 +1,181 @@
|
||||
<?php
|
||||
/**
|
||||
* jpgraph_error.php
|
||||
*
|
||||
* -Description-
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program 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 General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @package LibreNMS
|
||||
* @link http://librenms.org
|
||||
* @copyright 2016 Tony Murray
|
||||
* @author Tony Murray <murraytony@gmail.com>
|
||||
*/
|
||||
|
||||
/*=======================================================================
|
||||
// File: JPGRAPH_ERROR.PHP
|
||||
// Description: Error plot extension for JpGraph
|
||||
// Created: 2001-01-08
|
||||
// Ver: $Id: jpgraph_error.php 1106 2009-02-22 20:16:35Z ljp $
|
||||
//
|
||||
// Copyright (c) Aditus Consulting. All rights reserved.
|
||||
//========================================================================
|
||||
*/
|
||||
|
||||
//===================================================
|
||||
// CLASS ErrorPlot
|
||||
// Description: Error plot with min/max value for
|
||||
// each datapoint
|
||||
//===================================================
|
||||
class ErrorPlot extends Plot {
|
||||
private $errwidth=2;
|
||||
|
||||
//---------------
|
||||
// CONSTRUCTOR
|
||||
function __construct($datay,$datax=false) {
|
||||
parent::__construct($datay,$datax);
|
||||
$this->numpoints /= 2;
|
||||
}
|
||||
//---------------
|
||||
// PUBLIC METHODS
|
||||
|
||||
// Gets called before any axis are stroked
|
||||
function PreStrokeAdjust($graph) {
|
||||
if( $this->center ) {
|
||||
$a=0.5; $b=0.5;
|
||||
++$this->numpoints;
|
||||
} else {
|
||||
$a=0; $b=0;
|
||||
}
|
||||
$graph->xaxis->scale->ticks->SetXLabelOffset($a);
|
||||
$graph->SetTextScaleOff($b);
|
||||
//$graph->xaxis->scale->ticks->SupressMinorTickMarks();
|
||||
}
|
||||
|
||||
// Method description
|
||||
function Stroke($img,$xscale,$yscale) {
|
||||
$numpoints=count($this->coords[0])/2;
|
||||
$img->SetColor($this->color);
|
||||
$img->SetLineWeight($this->weight);
|
||||
|
||||
if( isset($this->coords[1]) ) {
|
||||
if( count($this->coords[1])!=$numpoints )
|
||||
JpGraphError::RaiseL(2003,count($this->coords[1]),$numpoints);
|
||||
//("Number of X and Y points are not equal. Number of X-points:".count($this->coords[1])." Number of Y-points:$numpoints");
|
||||
else
|
||||
$exist_x = true;
|
||||
}
|
||||
else
|
||||
$exist_x = false;
|
||||
|
||||
for( $i=0; $i<$numpoints; ++$i) {
|
||||
if( $exist_x )
|
||||
$x=$this->coords[1][$i];
|
||||
else
|
||||
$x=$i;
|
||||
|
||||
if( !is_numeric($x) ||
|
||||
!is_numeric($this->coords[0][$i*2]) || !is_numeric($this->coords[0][$i*2+1]) ) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$xt = $xscale->Translate($x);
|
||||
$yt1 = $yscale->Translate($this->coords[0][$i*2]);
|
||||
$yt2 = $yscale->Translate($this->coords[0][$i*2+1]);
|
||||
$img->Line($xt,$yt1,$xt,$yt2);
|
||||
$img->Line($xt-$this->errwidth,$yt1,$xt+$this->errwidth,$yt1);
|
||||
$img->Line($xt-$this->errwidth,$yt2,$xt+$this->errwidth,$yt2);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
} // Class
|
||||
|
||||
|
||||
//===================================================
|
||||
// CLASS ErrorLinePlot
|
||||
// Description: Combine a line and error plot
|
||||
// THIS IS A DEPRECATED PLOT TYPE JUST KEPT FOR
|
||||
// BACKWARD COMPATIBILITY
|
||||
//===================================================
|
||||
class ErrorLinePlot extends ErrorPlot {
|
||||
public $line=null;
|
||||
//---------------
|
||||
// CONSTRUCTOR
|
||||
function __construct($datay,$datax=false) {
|
||||
parent::__construct($datay,$datax);
|
||||
// Calculate line coordinates as the average of the error limits
|
||||
$n = count($datay);
|
||||
for($i=0; $i < $n; $i+=2 ) {
|
||||
$ly[]=($datay[$i]+$datay[$i+1])/2;
|
||||
}
|
||||
$this->line=new LinePlot($ly,$datax);
|
||||
}
|
||||
|
||||
//---------------
|
||||
// PUBLIC METHODS
|
||||
function Legend($graph) {
|
||||
if( $this->legend != "" )
|
||||
$graph->legend->Add($this->legend,$this->color);
|
||||
$this->line->Legend($graph);
|
||||
}
|
||||
|
||||
function Stroke($img,$xscale,$yscale) {
|
||||
parent::Stroke($img,$xscale,$yscale);
|
||||
$this->line->Stroke($img,$xscale,$yscale);
|
||||
}
|
||||
} // Class
|
||||
|
||||
|
||||
//===================================================
|
||||
// CLASS LineErrorPlot
|
||||
// Description: Combine a line and error plot
|
||||
//===================================================
|
||||
class LineErrorPlot extends ErrorPlot {
|
||||
public $line=null;
|
||||
//---------------
|
||||
// CONSTRUCTOR
|
||||
// Data is (val, errdeltamin, errdeltamax)
|
||||
function __construct($datay,$datax=false) {
|
||||
$ly=array(); $ey=array();
|
||||
$n = count($datay);
|
||||
if( $n % 3 != 0 ) {
|
||||
JpGraphError::RaiseL(4002);
|
||||
//('Error in input data to LineErrorPlot. Number of data points must be a multiple of 3');
|
||||
}
|
||||
for($i=0; $i < $n; $i+=3 ) {
|
||||
$ly[]=$datay[$i];
|
||||
$ey[]=$datay[$i]+$datay[$i+1];
|
||||
$ey[]=$datay[$i]+$datay[$i+2];
|
||||
}
|
||||
parent::__construct($ey,$datax);
|
||||
$this->line=new LinePlot($ly,$datax);
|
||||
}
|
||||
|
||||
//---------------
|
||||
// PUBLIC METHODS
|
||||
function Legend($graph) {
|
||||
if( $this->legend != "" )
|
||||
$graph->legend->Add($this->legend,$this->color);
|
||||
$this->line->Legend($graph);
|
||||
}
|
||||
|
||||
function Stroke($img,$xscale,$yscale) {
|
||||
parent::Stroke($img,$xscale,$yscale);
|
||||
$this->line->Stroke($img,$xscale,$yscale);
|
||||
}
|
||||
} // Class
|
||||
|
||||
|
||||
/* EOF */
|
||||
?>
|
||||
Reference in New Issue
Block a user