Blame | Letzte Änderung | Log anzeigen | RSS feed
<?php//// Example of CSIM frequence bar that uses the cache//include_once ("../jpgraph.php");include_once ("../jpgraph_bar.php");include_once ("../jpgraph_line.php");// Utility function to calculate the accumulated frequence// for a set of values and ocurrencesfunction accfreq($data) {rsort($data);$s = array_sum($data);$as = array($data[0]);$asp = array(100*$as[0]/$s);$n = count($data);for( $i=1; $i < $n; ++$i ) {$as[$i] = $as[$i-1]+$data[$i];$asp[$i] = 100.0*$as[$i]/$s;}return $asp;}// some data$data_freq = array(22,20,12,10,5,4,2);$data_accfreq = accfreq($data_freq);// Create the graph.$graph = new Graph(350,250);// We need to make this extra call for CSIM scripts// that make use of the cache. If the cache contains this// graph the HTML wrapper will be returned and then the// method will call exit() and hence NO LINES AFTER THIS// CALL WILL BE EXECUTED.// $graph->CheckCSIMCache('auto');// Setup some basic graph parameters$graph->SetScale("textlin");$graph->SetY2Scale('lin',0,100);$graph->img->SetMargin(50,70,30,40);$graph->yaxis->SetTitleMargin(30);$graph->SetMarginColor('#EEEEEE');// Setup titles and fonts$graph->title->Set("Frequence plot");$graph->xaxis->title->Set("X-title");$graph->yaxis->title->Set("Y-title");$graph->title->SetFont(FF_FONT1,FS_BOLD);$graph->yaxis->title->SetFont(FF_FONT1,FS_BOLD);$graph->xaxis->title->SetFont(FF_FONT1,FS_BOLD);// Turn the tickmarks$graph->xaxis->SetTickSide(SIDE_DOWN);$graph->yaxis->SetTickSide(SIDE_LEFT);$graph->y2axis->SetTickSide(SIDE_RIGHT);$graph->y2axis->SetColor('black','blue');$graph->y2axis->SetLabelFormat('%3d.0%%');// Create a bar pot$bplot = new BarPlot($data_freq);// Create targets and alt texts for the image maps. One for each bar// (In this example this is just "dummy" targets)$targ=array("#1","#2","#3","#4","#5","#6","#7");$alts=array("val=%d","val=%d","val=%d","val=%d","val=%d","val=%d","val=%d");$bplot->SetCSIMTargets($targ,$alts);// Create accumulative graph$lplot = new LinePlot($data_accfreq);// We want the line plot data point in the middle of the bars$lplot->SetBarCenter();// Use transperancy$lplot->SetFillColor('lightblue@0.6');$lplot->SetColor('blue@0.6');//$lplot->SetColor('blue');$graph->AddY2($lplot);// Setup the bars$bplot->SetFillColor("orange@0.2");$bplot->SetValuePos('center');$bplot->value->SetFormat("%d");$bplot->value->SetFont(FF_ARIAL,FS_NORMAL,9);$bplot->value->Show();// Add it to the graph$graph->Add($bplot);// Send back the HTML page which will call this script again// to retrieve the image.$graph->StrokeCSIM('barlinefreq_csimex1.php');?>