private function _generateUserDistributionGraph() { $graph = new Graph(); $graph->setMargin(10); $graph->setTextDirection('horizontal'); // Get highest ID $query = "\n\t\t\tSELECT\n\t\t\t\tMAX(id)\n\t\t\tFROM\n\t\t\t\tusers\n\t\t\t"; $max_id = $this->_db->getOne($query); $data = array(); for ($i = 0; $i < $max_id; $i += 1000000) { $query = "\n\t\t\t\tSELECT\n\t\t\t\t\tCOUNT(*)\n\t\t\t\tFROM\n\t\t\t\t\tusers\n\t\t\t\tWHERE\n\t\t\t\t\tid BETWEEN {$i} AND ({$i} + 999999)\n\t\t\t\t"; $num_users = $this->_db->getOne($query); $data[] = array('label' => $i / 1000000 . '.x million', 'value' => $num_users); } $graph->setData($data); $graph->saveTo('r/d/user-distribution.png'); }