Example #1
0
 public function executeChartEmployees()
 {
     $data = array();
     foreach (JobPeer::doSelect(new Criteria()) as $job) {
         $c = new Criteria();
         $c->add(EmployeePeer::JOB_ID, $job->getId());
         $data[$job->getName()] = EmployeePeer::doCount($c);
     }
     //To create a bar chart we need to create a stBarOutline Object
     $bar = new stBarOutline(80, '#78B9EC', '#3495FE');
     $bar->key('', 10);
     //Passing the random data to bar chart
     $bar->data = $data;
     //Creating a stGraph object
     $g = new stGraph();
     $g->title('Employee Job Type Break-Down', '{font-size: 20px;}');
     $g->bg_colour = '#FFFFFF';
     $g->set_inner_background('#E3F0FD', '#CBD7E6', 90);
     $g->x_axis_colour('#8499A4', '#E4F5FC');
     $g->y_axis_colour('#8499A4', '#E4F5FC');
     //Pass stBarOutline object i.e. $bar to graph
     $g->data_sets[] = $bar;
     //Setting labels for X-Axis
     $g->set_x_labels(array_keys($data));
     // to set the format of labels on x-axis e.g. font, color, step
     $g->set_x_label_style(10, '#18A6FF', 0, 2);
     // To tick the values on x-axis
     // 2 means tick every 2nd value
     $g->set_x_axis_steps(2);
     //set maximum value for y-axis
     //we can fix the value as 20, 10 etc.
     //but its better to use max of data
     $g->set_y_max(max($data));
     $g->y_label_steps(4);
     $g->set_y_legend('# Employees', 12, '#18A6FF');
     echo $g->render();
     return sfView::NONE;
 }
 /**
  * Creates a bar chart from random data
  *
  */
 public function execute3DBarChartData()
 {
     //Create new stBar3D object and set the transparency and colour.
     $redBar = new stBar3D(75, '#d01f3c');
     $redBar->key('2007', 10);
     //random data
     for ($i = 0; $i < 12; $i++) {
         $redBar->data[] = rand(200, 500);
     }
     //2nd Bar
     $blueBar = new stBar3D(75, '#356aa0');
     $blueBar->key('2008', 10);
     //random data for 2nd bar
     for ($i = 0; $i < 12; $i++) {
         $blueBar->data[] = rand(200, 500);
     }
     $g = new stGraph();
     $g->bg_colour = '#E4F5FC';
     $g->title('Number of downloads in 2008 and 2009', '{font-size:20px; color: #18A6FF;}');
     $g->data_sets[] = $redBar;
     $g->data_sets[] = $blueBar;
     //to create 3d x-axis
     $g->set_x_axis_3d(10);
     $g->x_axis_colour('#8499A4', '#E4F5FC');
     $g->y_axis_colour('#8499A4', '#E4F5FC');
     $g->set_x_labels(array('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'));
     $g->set_y_max(500);
     $g->y_label_steps(5);
     $g->set_y_legend('stOfcPlugin', 12, '#18A6FF');
     echo $g->render();
     return sfView::NONE;
 }
 public function executeGraficoLinea()
 {
     $chartData = array();
     for ($i = 0; $i < 25; $i++) {
         $chartData[] = rand(0, 50);
     }
     //Create new stGraph object
     $g = new stGraph();
     // Chart Title
     $g->title('% de Facilitadores por Estado', '{font-size: 20px;}');
     $g->bg_colour = '#E4F5FC';
     $g->set_inner_background('#E3F0FD', '#CBD7E6', 90);
     $g->x_axis_colour('#8499A4', '#E4F5FC');
     $g->y_axis_colour('#8499A4', '#E4F5FC');
     //Use line_dot to set line dots diameter, text, color etc.
     $g->line_dot(2, 3, '#3495FE', 'Porcentaje de facilitadores por Estado', 10);
     //In case of line chart data should be passed to stGraph object
     //unsing set_data
     $g->set_data($chartData);
     //Setting labels for X-Axis
     $estados = Doctrine_Core::getTable('Estado')->getEstados();
     foreach ($estados as $e) {
         $lista_estados[] = $e->getNombreEstado();
     }
     $g->set_x_labels($lista_estados);
     //to set the format of labels on x-axis e.g. font, color, step
     $g->set_x_label_style(10, '#18A6FF', 1, 1);
     //set maximum value for y-axis
     //we can fix the value as 20, 10 etc.
     //but its better to use max of data
     $g->set_y_max(max($chartData));
     $g->y_label_steps(10);
     // display the data
     echo $g->render();
     echo $g->render();
     return sfView::NONE;
 }
Example #4
0
 /**
  * Returns the data for a bar chart showing the amount of commits per author per hour of the day.
  *
  * @param sfWebRequest $request
  *
  * @return void
  */
 public function executeChartAuthorActivityHours(sfWebRequest $request)
 {
     $scm_id = $this->getUser()->getSelectedScmId();
     $username = $request->getParameter('param');
     $query = Doctrine::getTable('Commit')->createQuery()->addWhere('scm_id = ?', $scm_id)->addWhere('author = ?', $username);
     $result = $query->fetchArray();
     $hours = range(0, 23);
     $values = array_fill(0, 24, 0);
     foreach ($result as $item) {
         $hour = (int) date('H', strtotime($item['timestamp']));
         $values[$hour]++;
     }
     //To create a bar chart we need to create a stBarOutline Object
     $bar = new stBarOutline(80, '#78B9EC', '#3495FE');
     $bar->key('Commits per hour', 10);
     //Passing the random data to bar chart
     $bar->data = $values;
     //Creating a stGraph object
     $g = new stGraph();
     $g->set_inner_background('#E3F0FD', '#CBD7E6', 90);
     $g->x_axis_colour('#8499A4', '#E4F5FC');
     $g->y_axis_colour('#8499A4', '#E4F5FC');
     //set background color
     $g->bg_colour = '#eeeeee';
     //Set the transparency, line colour to separate each slice etc.
     $g->bar_filled(80, '#78B9EC', '#78B9EC', '{font-size: 12px; color: #78B9EC;');
     //Pass stBarOutline object i.e. $bar to graph
     $g->data_sets[] = $bar;
     //Setting labels for X-Axis
     $g->set_x_labels($hours);
     // To tick the values on x-axis
     // 2 means tick every 2nd value
     $g->set_x_axis_steps(2);
     //set maximum value for y-axis
     //we can fix the value as 20, 10 etc.
     //but its better to use max of data
     $g->set_y_max(max($values));
     $g->y_label_steps(4);
     $g->set_y_legend('# commits', 12, '#18A6FF');
     //To display value as tool tip
     $g->set_tool_tip('#x_label#: #val# commits');
     $g->title('Total commits per hour for ' . $username, '{font-size:18px; color: #18A6FF}');
     return $this->renderText($g->render());
 }