Heuristic ranking analysis
[contractdashboard.git] / heuristics / viewHeuristicsDistribution.php
blob:a/heuristics/viewHeuristicsDistribution.php -> blob:b/heuristics/viewHeuristicsDistribution.php
<?php <?php
   
/*// most interesting /*// most interesting
SELECT sum(heuristic_value) as sum, CNID 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 // spread of values
select floor(sum) as val,count(*) from (SELECT sum(heuristic_value) 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 */ $series = Array();
   
/* 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"); include_once("../lib/common.inc.php");
$query = "select floor(sum) as val,count(*) from (SELECT sum(heuristic_value) $query = "select heuristic_name, floor(heuristic_value) as val,count(*) from heuristic_results group by heuristic_name, val";
as sum FROM heuristic_results group by CNID) as a group by val"; $result = $conn->query($query);
$result = mysql_query($query); foreach ($result->fetchAll() as $r) {
if (!$result) echo mysql_error().$query; $series[$r["heuristic_name"]][$r["val"]] = $r[2];
while ($r = mysql_fetch_array($result, MYSQL_BOTH)) {  
$labels[] = $r[0];  
$values[] = $r[1];  
} }
   
/* Create and populate the pData object */ $labels = Array();
$MyData = new pData(); foreach ($series as $value) {
$MyData->addPoints($values,"Records"); $labels = $labels+array_keys($value);
$MyData->setAxisName(0,"# of records"); }
$MyData->addPoints($labels,"Labels"); $labels = Array(0,1,2,3,4,5);
$MyData->setSerieDescription("Labels","Bins"); foreach ($series as $seriesName => $seriesEntry) {
$MyData->setAbscissa("Labels"); $data;
  foreach ($labels as $label) {
/* Create the pChart object */ $data[$label] = ($seriesEntry[$label] ? $seriesEntry[$label] : 0);
$myPicture = new pImage(700,230,$MyData); }
  }
/* Turn of Antialiasing */ print_r($labels);
$myPicture->Antialias = FALSE; print_r($data);
   
/* 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");  
?> ?>