<?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 */ |
/* CAT:Spline chart */ |
|
|
/* pChart library inclusions */ |
/* pChart library inclusions */ |
include("../lib/pChart2.1.0/class/pData.class.php"); |
include("../lib/pChart2.1.0/class/pData.class.php"); |
include("../lib/pChart2.1.0/class/pDraw.class.php"); |
include("../lib/pChart2.1.0/class/pDraw.class.php"); |
include("../lib/pChart2.1.0/class/pImage.class.php"); |
include("../lib/pChart2.1.0/class/pImage.class.php"); |
$labels = Array(); |
|
$values = Array(); |
$series = 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 = 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)) { |
$labels[] = $r[0]; |
$series[$r["heuristic_name"]][$r["val"]] = $r[2]; |
$values[] = $r[1]; |
|
} |
} |
|
|
/* Create and populate the pData object */ |
/* Create and populate the pData object */ |
$MyData = new pData(); |
$MyData = new pData(); |
$MyData->addPoints($values,"Records"); |
$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->setAxisName(0,"# of records"); |
$MyData->addPoints($labels,"Labels"); |
$MyData->addPoints($labels,"Labels"); |
$MyData->setSerieDescription("Labels","Bins"); |
$MyData->setSerieDescription("Labels","Bins"); |
$MyData->setAbscissa("Labels"); |
$MyData->setAbscissa("Labels"); |
|
|
/* Create the pChart object */ |
/* Create the pChart object */ |
$myPicture = new pImage(700,230,$MyData); |
$myPicture = new pImage(700,230,$MyData); |
|
|
/* Turn of Antialiasing */ |
/* Turn of Antialiasing */ |
$myPicture->Antialias = FALSE; |
$myPicture->Antialias = FALSE; |
|
|
/* Add a border to the picture */ |
/* Add a border to the picture */ |
$myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0)); |
$myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0)); |
|
|
/* Write the chart title */ |
/* Write the chart title */ |
$myPicture->setFontProperties(array("FontName"=>"../lib/pChart2.1.0/fonts/Forgotte.ttf","FontSize"=>11)); |
$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)); |
$myPicture->drawText(150,35,"Record distribution",array("FontSize"=>20,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE)); |
|
|
/* Set the default font */ |
/* Set the default font */ |
$myPicture->setFontProperties(array("FontName"=>"../lib/pChart2.1.0/fonts/pf_arma_five.ttf","FontSize"=>6)); |
$myPicture->setFontProperties(array("FontName"=>"../lib/pChart2.1.0/fonts/pf_arma_five.ttf","FontSize"=>6)); |
|
|
/* Define the chart area */ |
/* Define the chart area */ |
$myPicture->setGraphArea(60,40,650,200); |
$myPicture->setGraphArea(60,40,650,200); |
|
|
/* Draw the scale */ |
/* Draw the scale */ |
$scaleSettings = array("XMargin"=>10,"YMargin"=>0,"Floating"=>TRUE,"GridR"=>200,"GridG"=>200,"GridB"=>200,"DrawSubTicks"=>TRUE,"CycleBackground"=>TRUE); |
$scaleSettings = array("XMargin"=>10,"YMargin"=>0,"Floating"=>TRUE,"GridR"=>200,"GridG"=>200,"GridB"=>200,"DrawSubTicks"=>TRUE,"CycleBackground"=>TRUE); |
$myPicture->drawScale($scaleSettings); |
$myPicture->drawScale($scaleSettings); |
|
|
/* Turn on Antialiasing */ |
/* Turn on Antialiasing */ |
$myPicture->Antialias = TRUE; |
$myPicture->Antialias = TRUE; |
|
|
/* Draw the line chart */ |
/* Draw the line chart */ |
$myPicture->drawSplineChart(); |
$myPicture->drawSplineChart(); |
|
|
/* Write the chart legend */ |
/* Write the chart legend */ |
$myPicture->drawLegend(540,20,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL)); |
$myPicture->drawLegend(540,20,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_VERTICAL)); |
|
|
/* Render the picture (choose the best way) */ |
/* Render the picture (choose the best way) */ |
$myPicture->autoOutput("pictures/example.drawSplineChart.simple.png"); |
$myPicture->autoOutput("pictures/example.drawSplineChart.simple.png"); |
?> |
?> |