Depreciate MySQL and GD image graphs
[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 */  
   
/* 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");  
   
$series = Array(); $series = Array();
   
include_once("../lib/common.inc.php"); include_once("../lib/common.inc.php");
$query = "select heuristic_name, floor(heuristic_value) as val,count(*) from heuristic_results group by heuristic_name, val"; $query = "select heuristic_name, floor(heuristic_value) as val,count(*) from heuristic_results group by heuristic_name, val";
$result = mysql_query($query); $result = mysql_query($query);
if (!$result) echo mysql_error().$query; if (!$result) echo mysql_error().$query;
while ($r = mysql_fetch_array($result, MYSQL_BOTH)) { while ($r = mysql_fetch_array($result, MYSQL_BOTH)) {
$series[$r["heuristic_name"]][$r["val"]] = $r[2]; $series[$r["heuristic_name"]][$r["val"]] = $r[2];
} }
   
/* Create and populate the pData object */  
$MyData = new pData();  
$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);  
}  
   
$MyData->addPoints($data,$seriesName);  
}  
$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_VERTICAL));  
   
/* Render the picture (choose the best way) */  
$myPicture->autoOutput("pictures/example.drawSplineChart.simple.png");  
?> ?>