/** * 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; }
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; }
/** * 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()); }