Esempio n. 1
0
 // The players plot
 $playersX = array();
 $graph_data = array();
 // epoch => [ "servers" => v, "players" => v ]
 // load the plugin's stats graph
 $globalstatistics = $plugin->getOrCreateGraph('Global Statistics');
 // the player plot's column id
 $playersColumnID = $globalstatistics->getColumnID('Players');
 // server plot's column id
 $serversColumnID = $globalstatistics->getColumnID('Servers');
 foreach (DataGenerator::generateCustomChartData($globalstatistics, $playersColumnID, HOURS) as $data) {
     $epoch = $data[0];
     $value = $data[1];
     $playersX[] = $value;
 }
 foreach (DataGenerator::generateCustomChartData($globalstatistics, $serversColumnID, HOURS) as $data) {
     $epoch = $data[0];
     $value = $data[1];
     $serversX[] = $value;
 }
 // Add the data to the graph
 $dataSet->AddPoint($playersX, 'Serie1');
 $dataSet->AddPoint($serversX, 'Serie2');
 // Create the series
 $dataSet->AddSerie('Serie1');
 $dataSet->AddSerie('Serie2');
 $dataSet->SetSerieName('Players', 'Serie1');
 $dataSet->SetSerieName('Servers', 'Serie2');
 $dataSet->SetYAxisName('');
 // Add all of the series
 $dataSet->AddAllSeries();
Esempio n. 2
0
     $response['status'] = 'ok';
     $response['data'] = DataGenerator::generateCustomChartData($graph, -1, $hours);
     $response['name'] = htmlentities($graph->getName());
     $response['type'] = GraphType::toString($graph->getType());
 } else {
     if ($graph->getType() == GraphType::Map) {
         $response['status'] = 'ok';
         $response['data'] = DataGenerator::generateGeoChartData($plugin);
         $response['name'] = htmlentities($graph->getName());
         $response['type'] = GraphType::toString($graph->getType());
     } else {
         foreach ($graph->getColumns() as $columnID => $columnName) {
             if (is_numeric($columnName) || is_double($columnName)) {
                 $columnName = "" . $columnName;
             }
             $response['data'][utf8_encode($columnName)] = DataGenerator::generateCustomChartData($graph, $columnID, $hours);
         }
         // total the counts
         $total = 0;
         foreach ($response['data'] as $name => $data) {
             $count = count($data);
             // evict the column if it has none (wasting space !)
             if ($count == 0) {
                 unset($response['data'][$name]);
                 continue;
             }
             $total += $data[$count - 1][1];
             // [[0,5], [1,7]] the expression will return 7
         }
         // now evict more data if necessary
         if ($total > 5000 && count($response['data']) > 20) {