More value heuristics
[contractdashboard.git] / heuristics / viewHeuristicsDistribution.php
blob:a/heuristics/viewHeuristicsDistribution.php -> blob:b/heuristics/viewHeuristicsDistribution.php
--- a/heuristics/viewHeuristicsDistribution.php
+++ b/heuristics/viewHeuristicsDistribution.php
@@ -14,22 +14,32 @@
  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";
+$query = "select heuristic_name, floor(heuristic_value) as val,count(*) from heuristic_results group by heuristic_name, 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];
+    $series[$r["heuristic_name"]][$r["val"]] = $r[2];
 }
 
  /* Create and populate the pData object */ 
- $MyData = new pData();   
- $MyData->addPoints($values,"Records"); 
+ $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"); 
@@ -65,7 +75,7 @@
  $myPicture->drawSplineChart(); 
 
  /* 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) */ 
  $myPicture->autoOutput("pictures/example.drawSplineChart.simple.png");