--- a/heuristics/viewHeuristicsDistribution.php +++ b/heuristics/viewHeuristicsDistribution.php @@ -1,1 +1,72 @@ +<?php +/*// most interesting +SELECT sum(heuristic_value) as sum, CNID +FROM `heuristic_results` group by CNID order by sum DESC limit 30 + +// spread of values +select floor(sum) as val,count(*) from (SELECT sum(heuristic_value) +as sum FROM heuristic_results group by CNID) as a group by val*/ + + /* CAT:Spline chart */ + + /* pChart library inclusions */ + include("../lib/pChart2.1.0/class/pData.class.php"); + include("../lib/pChart2.1.0/class/pDraw.class.php"); + include("../lib/pChart2.1.0/class/pImage.class.php"); +$labels = Array(); +$values = Array(); + + include_once("../lib/common.inc.php"); +$query = "select floor(sum) as val,count(*) from (SELECT sum(heuristic_value) +as sum FROM heuristic_results group by CNID) as a group by val"; +$result = mysql_query($query); +if (!$result) echo mysql_error().$query; +while ($r = mysql_fetch_array($result, MYSQL_BOTH)) { + $labels[] = $r[0]; + $values[] = $r[1]; +} + + /* Create and populate the pData object */ + $MyData = new pData(); + $MyData->addPoints($values,"Records"); + $MyData->setAxisName(0,"# of records"); + $MyData->addPoints($labels,"Labels"); + $MyData->setSerieDescription("Labels","Bins"); + $MyData->setAbscissa("Labels"); + + /* Create the pChart object */ + $myPicture = new pImage(700,230,$MyData); + + /* Turn of Antialiasing */ + $myPicture->Antialias = FALSE; + + /* Add a border to the picture */ + $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0)); + + /* Write the chart title */ + $myPicture->setFontProperties(array("FontName"=>"../lib/pChart2.1.0/fonts/Forgotte.ttf","FontSize"=>11)); + $myPicture->drawText(150,35,"Record distribution",array("FontSize"=>20,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE)); + + /* Set the default font */ + $myPicture->setFontProperties(array("FontName"=>"../lib/pChart2.1.0/fonts/pf_arma_five.ttf","FontSize"=>6)); + + /* Define the chart area */ + $myPicture->setGraphArea(60,40,650,200); + + /* Draw the scale */ + $scaleSettings = array("XMargin"=>10,"YMargin"=>0,"Floating"=>TRUE,"GridR"=>200,"GridG"=>200,"GridB"=>200,"DrawSubTicks"=>TRUE,"CycleBackground"=>TRUE); + $myPicture->drawScale($scaleSettings); + + /* Turn on Antialiasing */ + $myPicture->Antialias = TRUE; + + /* Draw the line chart */ + $myPicture->drawSplineChart(); + + /* Write the chart legend */ + $myPicture->drawLegend(540,20,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL)); + + /* Render the picture (choose the best way) */ + $myPicture->autoOutput("pictures/example.drawSplineChart.simple.png"); +?>