1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | // content="text/plain; charset=utf-8" require_once ("jpgraph/jpgraph.php"); require_once ("jpgraph/jpgraph_line.php"); // The callback that converts timestamp to minutes and seconds function TimeCallback($aVal) { return Date('H:i:s',$aVal); } // Fake some suitable random data $now = time(); $datax = array($now); for( $i=0; $i < 360; $i += 10 ) { $datax[] = $now + $i; } $n = count($datax); $datay=array(); for( $i=0; $i < $n; ++$i ) { $datay[] = rand(30,150); } // Setup the basic graph $graph = new Graph(324,250); $graph->SetMargin(40,40,30,70); $graph->title->Set('Date: '.date('Y-m-d',$now)); $graph->SetAlphaBlending(); // Setup a manual x-scale (We leave the sentinels for the // Y-axis at 0 which will then autoscale the Y-axis.) // We could also use autoscaling for the x-axis but then it // probably will start a little bit earlier than the first value // to make the first value an even number as it sees the timestamp // as an normal integer value. $graph->SetScale("intlin",0,200,$now,$datax[$n-1]); // Setup the x-axis with a format callback to convert the timestamp // to a user readable time $graph->xaxis->SetLabelFormatCallback('TimeCallback'); $graph->xaxis->SetLabelAngle(90); // Create the line $p1 = new LinePlot($datay,$datax); $p1->SetColor("blue"); // Set the fill color partly transparent $p1->SetFillColor("blue@0.4"); // Add lineplot to the graph $graph->Add($p1); // Output line $graph->Stroke(); |