PHP 7.4.33
Preview: jpgraph_error.php Size: 4.97 KB
/home/godevadmin/public_html/admin/jpgraph/jpgraph_error.php

<?php
/*=======================================================================
 // 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) Asial Corporation. 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 */
?>

Directory Contents

Dirs: 4 × Files: 52

Name Size Perms Modified Actions
Examples DIR
- drwxrwxr-x 2023-11-07 19:59:50
Edit Download
fonts DIR
- drwxrwxr-x 2023-11-07 19:59:50
Edit Download
lang DIR
- drwxrwxr-x 2023-11-07 19:59:50
Edit Download
themes DIR
- drwxrwxr-x 2023-11-07 19:59:50
Edit Download
959.56 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
209.29 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
366.67 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
671.42 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
85.14 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
13.82 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
55.22 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
4.72 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
8.64 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
28.16 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
7.06 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
6.90 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
6.03 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
205.28 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
12.47 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
41.10 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
47.38 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
3.55 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
17.05 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
21.16 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
20.11 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
12.00 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
4.97 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
13.60 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
160.58 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
124.61 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
17.27 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
6.09 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
8.25 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
12.00 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
18.09 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
23.89 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
11.10 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
3.89 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
12.37 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
54.70 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
32.08 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
21.19 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
4.26 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
17.66 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
30.59 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
28.98 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
7.32 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
26.91 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
8.00 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
6.26 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
48.27 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
11.06 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
3.37 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
21.36 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
25.47 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
53.76 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).