--- a/heuristics/viewHeuristicsDistribution.php +++ b/heuristics/viewHeuristicsDistribution.php @@ -2,71 +2,32 @@ /*// most interesting SELECT sum(heuristic_value) as sum, CNID -FROM `heuristic_results` group by CNID order by sum DESC limit 30 +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*/ +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(); +$series = 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]; +$query = "select heuristic_name, floor(heuristic_value) as val,count(*) from heuristic_results group by heuristic_name, val"; + $result = $conn->query($query); +foreach ($result->fetchAll() as $r) { + $series[$r["heuristic_name"]][$r["val"]] = $r[2]; } - /* 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"); + $labels = Array(); + foreach ($series as $value) { + $labels = $labels+array_keys($value); + } + $labels = Array(0,1,2,3,4,5); +foreach ($series as $seriesName => $seriesEntry) { + $data; + foreach ($labels as $label) { + $data[$label] = ($seriesEntry[$label] ? $seriesEntry[$label] : 0); + } +} +print_r($labels); +print_r($data); ?>