Example #1
0
 public static function getMaxOfArray($ArrayToCheck)
 {
     $maxValue = 0;
     foreach ($ArrayToCheck as $temp) {
         if (is_array($temp)) {
             $maxValue = max($maxValue, utility::getMaxOfArray($temp));
         } else {
             $maxValue = max($maxValue, $temp);
         }
     }
     return $maxValue;
 }
Example #2
0
 /**
  * @brief Encodes the data as Extended Text.
  *
  * This specifies integer values from 0-4095, inclusive, encoded by two alphanumeric characters.
  *
  * @todo Add support for missing values
  */
 private function extendedEncodeData($data)
 {
     $encode_string = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-.';
     $max = utility::getMaxOfArray($data);
     $encodedData = array();
     if ($max > 4095) {
         $rate = $max / 4095.0;
         foreach ($data as $array) {
             if (is_array($array)) {
                 $encodedData2 = array();
                 foreach ($array as $elem) {
                     $toEncode = (int) $elem / $rate;
                     $s = '';
                     for ($i = 0; $i < 2; ++$i) {
                         $m = $toEncode % 64;
                         $toEncode /= 64;
                         $s = $encode_string[$m] . $s;
                     }
                     array_push($encodedData2, $s);
                 }
                 array_push($encodedData, $encodedData2);
             } else {
                 $toEncode = (int) $array / $rate;
                 $s = '';
                 for ($i = 0; $i < 2; ++$i) {
                     $m = $toEncode % 64;
                     $toEncode /= 64;
                     $s = $encode_string[$m] . $s;
                 }
                 array_push($encodedData, $s);
             }
         }
     } else {
         foreach ($data as $array) {
             if (is_array($array)) {
                 $encodedData2 = array();
                 foreach ($array as $elem) {
                     $s = '';
                     $toEncode = $elem;
                     for ($i = 0; $i < 2; ++$i) {
                         $m = $toEncode % 64;
                         $toEncode /= 64;
                         $s = $encode_string[$m] . $s;
                     }
                     array_push($encodedData2, $s);
                 }
                 array_push($encodedData, $encodedData2);
             } else {
                 $s = '';
                 $toEncode = $array;
                 for ($i = 0; $i < 2; ++$i) {
                     $m = $toEncode % 64;
                     $toEncode /= 64;
                     $s = $encode_string[$m] . $s;
                 }
                 array_push($encodedData, $s);
             }
         }
     }
     return $encodedData;
 }
Example #3
0
 #unset($chartData['2011']);
 #var_dump($chartData);
 if (class_exists('gBarChart')) {
     $Chart = new gBarChart(800, 350);
     $max = 0;
     $min = 99999;
     $nummonths = 0;
     $chartData = array_reverse($chartData, true);
     foreach ($chartData as $year => $months) {
         /*
           print "<h3>$year</h3>";
           var_dump($months);
         */
         ksort($months);
         $Chart->addDataSet(array_values($months));
         $monthmax = $util->getMaxOfArray($months);
         if ($monthmax > $max) {
             $max = $monthmax;
         }
         $nummonths = count($months);
     }
     $Chart->setLegend(array_keys($chartData));
     #$Chart->setBarWidth(4,1,3);
     $Chart->setAutoBarWidth();
     $Chart->setColors(array('ff3344', '11ff11', '22aacc', '3333aa'));
     $Chart->setVisibleAxes(array('x', 'y'));
     $Chart->setDataRange(0, $max);
     $Chart->addAxisRange(0, 1, $nummonths);
     $Chart->addAxisRange(1, 0, $max);
     #$lineChart->addBackgroundFill('bg', 'EFEFEF');
     #$lineChart->addBackgroundFill('c', '000000');