function grafico($anio = '') { $this->load->library('Graph'); if (empty($anio)) { return; } $fechai = $anio . '0101'; $fechaf = $anio . '1231'; $mSQL = "SELECT a.vd, LEFT(b.nombre, 8)as nombre2, \n\t\t sum(a.totalg*IF(a.tipo_doc='D', -1, 1)) AS grantotal, \n\t\t sum(a.totalg*(a.referen IN ('E', 'M'))*IF(a.tipo_doc='D', -1, 1)) AS contado, \n\t\t sum(a.totalg*(a.referen NOT IN ('E', 'M'))*IF(a.tipo_doc='D', -1, 1)) AS credito \n\t\t FROM sfac AS a \n\t\t JOIN vend AS b ON a.vd=b.vendedor \n\t\t WHERE a.tipo_doc<>'X' AND a.fecha>='{$fechai}' AND a.fecha<='{$fechaf}' \n\t\t GROUP BY a.vd ORDER BY a.vd,grantotal DESC LIMIT 10"; $maxval = 0; $query = $this->db->query($mSQL); $data_1 = $data_2 = $data_3 = $vendedor = array(); foreach ($query->result() as $row) { if ($row->grantotal > $maxval) { $maxval = $row->grantotal; } $nombre[] = $row->nombre2; $vendedor[] = $row->vd; $data_1[] = $row->contado; $data_2[] = $row->credito; $data_3[] = $row->grantotal; } $om = 1; while ($maxval / $om > 100) { $om = $om * 10; } $bar_1 = new bar(75, '#0053A4'); $bar_2 = new bar(75, '#9933CC'); $bar_3 = new bar(75, '#639F45'); $bar_1->key('Contado', 10); $bar_2->key('Credito', 10); $bar_3->key('Total', 10); for ($i = 0; $i < count($data_1); $i++) { $bar_1->add_data_tip($data_1[$i] / $om, graph::esc(number_format($data_1[$i], 2, ',', '.'))); $bar_2->add_data_tip($data_2[$i] / $om, graph::esc(number_format($data_2[$i], 2, ',', '.'))); $bar_3->add_data_tip($data_3[$i] / $om, graph::esc(number_format($data_3[$i], 2, ',', '.'))); $bar_1->links[] = site_url("/ventas/vendedoresmensuales/index/{$anio}/" . $vendedor[$i]); $bar_2->links[] = site_url("/ventas/vendedoresmensuales/index/{$anio}/" . $vendedor[$i]); $bar_3->links[] = site_url("/ventas/vendedoresmensuales/index/{$anio}/" . $vendedor[$i]); } $g = new graph(); $g->title('Los 10 vendedores con los indice de ventas más altos en el año' . $anio, '{font-size: 22px; color:##00264A}'); $g->set_is_decimal_separator_comma(1); $g->data_sets[] = $bar_1; $g->data_sets[] = $bar_2; $g->data_sets[] = $bar_3; $g->set_x_labels($nombre); $g->set_x_label_style(10, '#000000', 3, 1); $g->set_x_axis_steps(10); $g->set_x_legend('Vendedores', 14, '#004381'); $g->bg_colour = '#FFFFFF'; $g->set_tool_tip('#key#<br>Vendedor: #x_label# <br>Monto: #tip#'); $g->set_y_max(ceil($maxval / $om)); $g->y_label_steps(5); $g->set_y_legend('Ventas x ' . number_format($om, 0, '', '.') . ' (Bs)', 16, '#004381'); echo utf8_encode($g->render()); }
function mkCacheData($date_from, $date_to, $product_id) { $conditions = array(); $info = $this->dbstuff->GetRow("SELECT * FROM " . $this->table_prefix . "products WHERE id='" . $product_id . "'"); if (!empty($info)) { $_GET['pn'] = $info['name']; } $mdt = date("Ymd") . "_" . substr(md5($_GET['pn'] . $_GET['ds'] . $_GET['de']), 0, 6); $file_item = $mdt; $file_path = DATA_PATH . "tmp/" . $file_item . $this->cache_ext; if (!file_exists($file_path)) { // use the chart class to build the chart: include_once LIB_PATH . 'ofc/chart.php'; $g = new graph(); $result = $this->dbstuff->GetArray("SELECT DATE_FORMAT(FROM_UNIXTIME(created),'%m') as mn,avg(max_price) AS avmax,avg(min_price) AS avmin FROM " . $this->table_prefix . "quotes WHERE product_id=" . $product_id . " AND created BETWEEN {$date_from} AND {$date_to} group by mn ORDER BY created ASC"); if (!empty($result)) { foreach ($result as $val) { $data[] = floor(($val['avmax'] + $val['avmin']) / 2); } $title = L("stat_charts", "tpl") . $_GET['ds'] . L("arrive_to", "tpl") . $_GET['de']; } elseif ($info['name']) { $title = $info['name']; } else { $title = L("data_not_exists") . df(); } $g->title($title, '{font-size: 24px;color: #0000FF}'); $g->set_data($data); $g->line_hollow(2, 4, '0x80a033', $_GET['pn'], 10); // label each point with its value //$g->set_x_labels( explode(",", L("months", "tpl")) ); $x_result = $this->dbstuff->GetArray("select CONCAT(FROM_UNIXTIME(created, '%Y'),'/',FROM_UNIXTIME(created, '%m')) as m from " . $this->table_prefix . "quotes WHERE created BETWEEN {$date_from} AND {$date_to} group by DATE_FORMAT(FROM_UNIXTIME(created),'%m') ORDER BY created ASC"); foreach ($x_result as $val) { $x_tmp[] = $val['m']; } $g->set_x_labels($x_tmp); $label_y = $this->dbstuff->GetRow("select max(max_price) as price_max,min(min_price) as price_min from " . $this->table_prefix . "quotes WHERE product_id=" . $product_id . " AND created BETWEEN {$date_from} AND {$date_to}"); $y_max = !empty($label_y['price_max']) ? $label_y['price_max'] : 100; // set the Y max $this->max_price = $label_y['price_max']; $this->min_price = $label_y['price_min']; $g->set_y_max($label_y['price_max']); // label every 20 (0,20,40,60) $g->y_label_steps(6); // display the data file_put_contents($file_path, $g->render()); } $this->cache_datafile = $file_item . $this->cache_ext; }
function grafico($titulo) { $this->load->library('Graph'); $mSQL_1 = "SELECT cod_cli,nombre, \r\n\t\t\tsum(totalg*IF(tipo_doc='D', -1, 1)) AS grantotal, \r\n\t\t\tsum(totalg*(referen IN ('E', 'M'))*IF(tipo_doc='D', -1, 1)) AS contado,\r\n\t\t\tsum(totalg*(referen NOT IN ('E', 'M'))*IF(tipo_doc='D', -1, 1)) AS credito \r\n\t\t\tFROM sfac\r\n\t\t\tWHERE tipo_doc<>'X' AND fecha>='20070101' AND fecha<='20071231' \r\n\t\t\tGROUP BY cod_cli ORDER BY grantotal DESC LIMIT 10"; // generate some random data srand((double) microtime() * 1000000); $bar_1 = new bar_fade(50, '#209B2C'); $bar_1->key('Contado', 10); $bar_2 = new bar_fade(50, '#9933CC'); $bar_2->key('Credito', 10); $bar_3 = new bar_fade(50, '#639F45'); $bar_3->key('Total', 10); $maxval = 0; $label = $tips = array(); $query = $this->db->query($mSQL_1); foreach ($query->result() as $row) { if ($row->grantotal > $maxval) { $maxval = $row->grantotal; } $bar_1->data[] = $row->contado; $bar_2->data[] = $row->credito; $bar_3->data[] = $row->grantotal; //$bar_1->tips = $data_tips_3; $tips[] = $row->nombre; $label[] = $row->cod_cli; } $g = new graph(); $g->title($titulo, '{font-size: 26px;}'); $g->data_sets[] = $bar_1; $g->data_sets[] = $bar_2; $g->data_sets[] = $bar_3; $g->set_x_labels($label); $g->set_x_label_style(10, '#9933CC', 2, 1); $g->set_x_axis_steps(10); $g->bg_colour = '#FFFFFF'; $g->set_tool_tip('#key#<br>Codigo de Clinte: #x_label# <br>Monto: #tip#'); $g->tips = $tips; $g->set_y_max($maxval); $g->y_label_steps(3); $g->set_y_legend('Open Flash Chart', 12, '0x736AFF'); echo utf8_encode($g->render()); }
function return_ofc_day() { global $cms, $ps; $styles =& $cms->theme->styles; $days = array(); $labels = array(); $data = array(); $data_avg = array(); $sum = 0; $avg = 0; $max = 31; $maxlimit = 100; // get the last 31 days of data $list = $ps->db->fetch_rows(1, "SELECT statdate,SUM(connections) connections " . "FROM {$ps->t_map_data} " . "GROUP BY statdate " . "ORDER BY statdate DESC LIMIT {$max}"); $now = $list ? ymd2time($list[0]['statdate']) : time(); while (count($days) < $max) { $days[date('Y-m-d', $now)] = 'null'; $labels[] = date('M jS', $now); $now -= 60 * 60 * 24; } $days = array_reverse($days); $labels = array_reverse($labels); // build our data and labels $data = $days; $maxdata = 0; foreach ($list as $d) { if (!array_key_exists($d['statdate'], $days)) { continue; } $sum += $d['connections']; $data[$d['statdate']] = $d['connections']; $maxdata = max($maxdata, $d['connections']); } if ($data) { $avg = $sum / count($data); $data_avg[] = $avg; $data_avg = array_pad($data_avg, count($data), 'null'); $data_avg[] = $avg; # $data_avg = array_pad(array(), count($data), $avg); $maxlimit = ceil(ceil($maxdata / 100) * 100); } include_once PS_ROOTDIR . '/includes/ofc/open-flash-chart.php'; $g = new graph(); $g->bg_colour = $styles->val('flash.conn.bgcolor', 'flash.bgcolor'); $g->title($styles->val('flash.conn.title', $cms->trans('Daily Connections'), true), '{' . $styles->val('flash.conn.title.style', 'font-size: 16px', true) . '}'); # $g->set_data($data_avg); # $g->line(1, '#9999ee', 'Average Connections', 9); # $g->set_data($data); ## $g->line_hollow(1, 3, '#5555ff', 'Connections', 9); # $g->bar(75, '#5555ff', 'Connections', 9); $avg_line = new line($styles->val('flash.conn.line.width'), $styles->val('flash.conn.line.color')); $avg_line->key($styles->val('flast.conn.line.key', $cms->trans('Average Connections'), true), $styles->val('flash.conn.line.size', 9, true)); $avg_line->data = $data_avg; $conn_bar = new bar_3d($styles->val('flash.conn.bar3d.opacity', 75, true), $styles->val('flash.conn.bar3d.color1', '#5555ff', true), $styles->val('flash.conn.bar3d.color2', '#3333DD', true)); $conn_bar->key($styles->val('flash.conn.bar3d.key', $cms->trans('Connections'), true), $styles->val('flash.conn.bar3d.size', 9, true)); $conn_bar->data = $data; /* $keys = array_keys($data); for ($i=0; $i<count($data); $i++) { $conn_bar->add_data_tip($data[$keys[$i]], $cms->trans("Connections: %d", $data[$keys[$i]]) . "<br>" . $cms->trans("Average: %d", $data_avg[0]) ); } /**/ $g->set_tool_tip(sprintf($styles->val('flash.conn.tooltip', '#x_label#<br>#key#: #val# (' . $cms->trans('Avg') . ': %d)', true), round($data_avg[0]))); $g->data_sets[] = $avg_line; $g->data_sets[] = $conn_bar; $g->set_x_axis_3d(6); // label each point with its value $g->set_x_labels($labels); // $g->set_x_axis_steps(count($labels) / 3 + 1); // $g->set_x_tick_size(1); $g->set_x_label_style(10, '#000000', 0, 3, '#cccccc'); // $g->set_x_label_style('none'); # $g->set_x_label_style( 8, '#000000', 2 ); $g->set_inner_background(coalesce($styles->val('flash.conn.bg_inner1', 'flash.bg_inner1'), '#E3F0FD'), coalesce($styles->val('flash.conn.bg_inner2', 'flash.bg_inner2'), '#CBD7E6'), coalesce($styles->val('flash.conn.bg_inner_angle', 'flash.bg_inner_angle'), 90)); $g->x_axis_colour('#909090', '#ADB5C7'); // $g->x_axis_colour('#eeeeee', '#eeeeee'); $g->y_axis_colour('#5555ff', '#eeeeee'); // $g->set_x_offset( false ); // set the Y max $g->set_y_min(0); $g->set_y_max($maxlimit); $g->set_y_legend($styles->val('flash.conn.bar3d.key', $cms->trans('Connections')), 12, $styles->val('flash.conn.bar3d.color1', '#5555ff', true)); print $g->render(); }
function gproducto($anio = '', $depto = '', $fami = '', $grupo = '') { $this->load->library('Graph'); if (empty($anio)) { return; } $fechai = $anio . '0101'; $fechaf = $anio . '1231'; $mSQL = "SELECT a.codigo,a.depto,a.familia,a.grupo,e.descrip as nombre,\n\t\tSUM(a.monto) AS grantotal, \n\t\tSUM(a.costo) AS costo, \n\t\tSUM(a.cantidad) AS cantidad,\n\t\tSUM(a.monto)-SUM(a.costo) AS ganancia\n\t\tFROM est_item AS a\n\t\tJOIN maes AS e ON a.codigo= e.codigo\n\t\tWHERE a.fecha>='{$fechai}' AND a.fecha<='{$fechaf}' AND a.depto='{$depto}' AND a.familia='{$fami}' AND a.grupo='{$grupo}'\n\t\tGROUP BY a.codigo LIMIT 10"; //echo $mSQL; $maxval = 0; $query = $this->db->query($mSQL); foreach ($query->result() as $row) { if ($row->grantotal > $maxval) { $maxval = $row->grantotal; } $nombre[] = $row->nombre; $famili = $row->famili; $dpto = $row->dpto; $grup = $row->grup; $data_1[] = $row->grantotal; $data_2[] = $row->ganancia; } $om = 1; while ($maxval / $om > 100) { $om = $om * 10; } $bar_1 = new bar_fade(55, '#C31812'); $bar_2 = new bar_fade(55, '#424581'); $bar_1->key('Total', 10); $bar_2->key('Ganancias', 10); for ($i = 0; $i < count($data_1); $i++) { $bar_1->add_data_tip($data_1[$i] / $om, graph::esc(number_format($data_1[$i], 2, ',', '.'))); $bar_2->add_data_tip($data_2[$i] / $om, graph::esc(number_format($data_2[$i], 2, ',', '.'))); } $g = new graph(); $g->set_is_decimal_separator_comma(1); if ($maxval > 0) { $g->title('Ventas de el año ' . $anio, '{font-size: 16px; color:#0F3054}'); $g->data_sets[] = $bar_1; $g->data_sets[] = $bar_2; $g->set_x_labels($nombre); $g->set_x_label_style(10, '#000000', 2, 1); $g->set_x_axis_steps(10); $g->set_x_legend('Productos', 14, '#004381'); $g->bg_colour = '#FFFFFF'; $g->set_tool_tip('#key#<br>Producto: #x_label# <br>Monto: #tip#'); $g->set_y_max(ceil($maxval / $om)); $g->y_label_steps(5); $g->set_y_legend('Ventas x ' . number_format($om, 0, '', '.') . ' (Bs)', 16, '#004381'); } else { $g->title('No existen ventas en el año seleccionado', '{font-size:18px; color: #d01f3c}'); } $g->bg_colour = '#FFFFFF'; echo utf8_encode($g->render()); }
<?php include_once( 'classes/open-flash-chart.php' ); $data = $_REQUEST['d']; $labels = $_REQUEST['l']; $title = $_REQUEST['title']; $type = $_REQUEST['type']; $sort = $_REQUEST['sort']; $resubmit = $PHP_SELF . "?" . $_SERVER['QUERY_STRING']; $g = new graph(); $g->title( $title, '{font-size: 18px; color: #A0A0A0;}' ); $g->set_inner_background( '#E3F0FD', '#CBD7E6', 90 ); $g->bg_colour = '#FFFFFF'; if ($sort == true){ array_multisort($labels,$data); } if ($type == 'line'){ $g->set_data($data); $g->line_hollow( 2, 4, '#5E83BF', 'Documentos', 10 ); $g->set_x_labels($labels); $g->set_x_label_style( 10, '0x000000', 0, 2 ); $g->set_y_max( max($data) ); $g->y_label_steps(4);
function gmensuales($mes = '', $anio = '') { $this->load->library('Graph'); $this->lang->load('calendar'); if (empty($anio) or empty($mes)) { return; } $fechai = $anio . str_pad($mes, 2, "0", STR_PAD_LEFT) . '01'; $fechaf = $anio . str_pad($mes, 2, "0", STR_PAD_LEFT) . '31'; $mSQL = "SELECT DAYOFMONTH(fecha)AS dia,\r\n SUM(monto)AS grantotal\r\n FROM pres \r\n WHERE fecha>='{$fechai}' AND fecha<='{$fechaf}'\r\n GROUP BY fecha"; //echo $mSQL; $maxval = 0; $query = $this->db->query($mSQL); foreach ($query->result() as $row) { if ($row->grantotal > $maxval) { $maxval = $row->grantotal; } $fecha[] = $row->dia; $data_1[] = $row->grantotal; } $om = 1; while ($maxval / $om > 100) { $om = $om * 10; } $bar_1 = new bar(75, '#329B98'); $bar_1->key('Total', 10); for ($i = 0; $i < count($data_1); $i++) { $bar_1->add_data_tip($data_1[$i] / $om, graph::esc(number_format($data_1[$i], 2, ',', '.'))); } $g = new graph(); $g->set_is_decimal_separator_comma(1); if ($maxval > 0) { $g->title('Prestamos de el mes ' . $mes . '/' . $anio, '{font-size: 16px; color:#0F3054}'); $g->data_sets[] = $bar_1; $g->set_x_labels($fecha); $g->set_x_label_style(10, '#000000', 3, 1); $g->set_x_axis_steps(10); $g->set_x_legend('Dias', 16, '#004381'); $g->bg_colour = '#FFFFFF'; $g->set_tool_tip('#key#<br>Dia: #x_label# <br>Monto: #tip#'); $g->set_y_max(ceil($maxval / $om)); $g->y_label_steps(5); $g->set_y_legend('Prestamos x ' . number_format($om, 0, '', '.') . ' (Bs)', 16, '#004381'); } else { $g->title('No existen prestamos con los datos seleccionados', '{font-size:18px; color: #d01f3c}'); } $g->bg_colour = '#FFFFFF'; echo utf8_encode($g->render()); }
function grafico($codigo = '', $mes = '', $anio = '') { $this->load->library('Graph'); if (empty($mes) and empty($anio)) { return; } $fechad = $anio . str_pad($mes, 2, "0", STR_PAD_LEFT) . '01'; $fechah = $anio . str_pad($mes, 2, "0", STR_PAD_LEFT) . '31'; $mSQL = "SELECT DATE_FORMAT(fecha, '%d')as fecha, codigo, sum(cantidad) cantidad, IF(sum(cantidad)<=salcant,sum(cantidad),salcant)*(salcant>0)as salcant \n\t\tFROM costos \n\t\tWHERE codigo='{$codigo}' AND fecha>='{$fechad}' AND fecha<='{$fechah}' AND origen='3I'\n\t\tGROUP BY fecha HAVING cantidad>0"; echo $mSQL; $maxval = 0; $query = $this->db->query($mSQL); foreach ($query->result() as $row) { if ($row->cantidad > $maxval) { $maxval = $row->cantidad; } $fecha[] = $row->fecha; $codigo = $row->codigo; $data_1[] = $row->cantidad; $data_2[] = $row->salcant; } $fechadd = dbdate_to_human($fechad); $fechahh = dbdate_to_human($fechah); $nombre = $this->datasis->dameval("SELECT descrip FROM sinv WHERE codigo='{$codigo}'"); $om = 1; while ($maxval / $om > 100) { $om = $om * 10; } $bar_1 = new bar_glass(55, '#D54C78', '#C31812'); $bar_1->key('Ventas', 10); $bar_2 = new line_dot(3, 5, '#0066CC', 'Downloads', 10); $bar_2->key('Existencias', 10); for ($i = 0; $i < count($data_1); $i++) { $bar_1->add_data_tip($data_1[$i] / $om, graph::esc(number_format($data_1[$i], 2, ',', '.'))); $bar_2->add_data_tip($data_2[$i] / $om, graph::esc(number_format($data_2[$i], 2, ',', '.'))); // $bar_1->links[]= site_url("/inventario/gproductos/mensuales/$anio/".str_replace('/',':slach:',$proveed[$i])); // $bar_1->links[]= site_url("/inventario/gproductos/mensuales/$anio/".raencode($proveed[$i])); } $g = new graph(); $g->set_is_decimal_separator_comma(1); if ($maxval > 0) { $g->title('Grafico de ' . $nombre . ' Desde ' . $fechadd . ' Hasta ' . $fechahh, '{font-size: 16px; color:#0F3054}'); $g->data_sets[] = $bar_1; $g->data_sets[] = $bar_2; $g->set_x_labels($fecha); $g->set_x_label_style(10, '#000000', 2, 1); $g->set_x_axis_steps(10); $g->set_x_legend('Fecha', 14, '#004381'); $g->bg_colour = '#FFFFFF'; $g->set_tool_tip('#key#<br>Fecha: #x_label# <br>Cantidad: #tip#'); $g->set_y_max(ceil($maxval / $om)); $g->y_label_steps(5); //$g->set_y_legend('Ventas x '.number_format($om,0,'','.').' (Bs)', 16, '#004381' ); } else { $g->title('No existen datos con la informacion seleccionada', '{font-size:18px; color: #d01f3c}'); } $g->bg_colour = '#FFFFFF'; echo utf8_encode($g->render()); }
/** * action_admin_return_ofc_hitrates() * * the function returns dynamic data (hitrate of apc) and visualizes an piechart with ofc. * function consists of 4 segments: * (1) get data * (2) init ofc * (3) draw the chart * (4) render it * * @return dynamic data for an open flash chart */ public function action_admin_return_ofc_hitrates() { /** * (1) get DATA for Visualization */ // get apc cache $cache_apc = Clansuite_Cache_Factory::getCache('apc'); $apc_stats = $cache_apc->stats(); // debug display of the stats data // var_dump($apc_stats); // setup the data array $data = array(); $data[] = $apc_stats['cache_info']['num_hits']; $data[] = $apc_stats['cache_info']['num_misses']; /** * (2) initialize Open Flash Chart */ include 'libraries/open-flash-chart/php-ofc-library/open-flash-chart.php'; $g = new graph(); /** * (3) draw the ofc chart */ // title $g->title('APC Hitrate', '{font-size:18px; color: #d01f3c}'); // ok, now draw one piece of the pie :) $g->pie(60, '#505050', '{font-size: 11px; color: #404040;'); /** * we have to pass in 2 arrays * (1) $data * (2) labels for the data */ $g->pie_values($data, array('Hits', 'Misses')); // colours for each slice (hits = green, misses = red) $g->pie_slice_colours(array('#acb132', '#d01f3c')); // mouseover tooltip displayes the values $g->set_tool_tip('#val#'); /** * (4) output/generate the dynamic data for the swf */ echo $g->render(); // eject here unnicely, because of headers exist error // @todo debug and find out, where after $g->render any output is done exit; }
function gproducto($anio = '', $departamento = '', $linea = '', $grupo = '') { $this->load->library('Graph'); $this->load->library('calendar'); //$this->calendar->generate(); if (empty($anio) or empty($departamento) or empty($linea) or empty($grupo)) { return; } $fechai = $anio . '0101'; $fechaf = $anio . '1231'; $mSQL = "SELECT a.fecha,b.codigo,b.descrip AS nnombre,LEFT(b.descrip,20)AS nombre,e.depto,e.descrip,d.linea,d.descrip,b.grupo,b.descrip,c.nom_grup as ngrupo,\n SUM(a.promedio*a.cantidad) AS costo,\n SUM(a.venta) AS ventas,\n SUM(a.venta)-SUM(a.promedio*a.cantidad) AS ganancias\n FROM {$this->from} "; foreach ($this->join as $valor) { $mSQL .= "{$valor['2']} JOIN {$valor['0']} ON {$valor['1']}"; } $mSQL .= " WHERE a.origen IN ('3I','3M') AND a.fecha>='{$fechai}' AND a.fecha<='{$fechaf}' AND e.depto='{$departamento}' AND d.linea='{$linea}' AND b.grupo='{$grupo}'\n GROUP BY a.codigo ORDER BY ganancias DESC LIMIT 15"; //echo $mSQL; $maxval = 0; $query = $this->db->query($mSQL); foreach ($query->result() as $row) { if ($row->ganancias > $maxval) { $maxval = $row->ganancias; } $nombre[] = $row->nombre; $data_1[] = $row->ganancias; } $ngrupo = $row->ngrupo; $om = 1; while ($maxval / $om > 100) { $om = $om * 10; } $bar_1 = new bar(75, '#639F45'); $bar_1->key('Ganancias', 10); for ($i = 0; $i < count($data_1); $i++) { $bar_1->add_data_tip($data_1[$i] / $om, graph::esc(number_format($data_1[$i], 2, ',', '.'))); //$bar_1->links[]= site_url("ventas/gananciasproducto/index/$anio/$departamento/".$linea[$i]); } $g = new graph(); $g->set_is_decimal_separator_comma(1); if ($maxval > 0) { $g->title('Ganancias por producto de el grupo ' . $ngrupo . ' en el año ' . $anio, '{font-size: 16px; color:#0F3054}'); $g->data_sets[] = $bar_1; $g->set_x_axis_3d(5); $g->x_axis_colour('#909090', '#ADB5C7'); $g->set_x_labels($nombre); $g->set_x_label_style(10, '#000000', 2, 1); $g->set_x_axis_steps(10); $g->set_x_legend('Productos', 14, '#004381'); $g->y_axis_colour('#909090', '#ADB5C7'); $g->bg_colour = '#FFFFFF'; $g->set_tool_tip('#key#<br>Producto: #x_label# <br>Monto: #tip#'); $g->set_y_max(ceil($maxval / $om)); $g->y_label_steps(5); $g->set_y_legend('Ganancia x ' . number_format($om, 0, '', '.') . ' (Bs)', 16, '#004381'); } else { $g->title('No existen ganancias con los datos seleccionados', '{font-size:18px; color: #d01f3c}'); } $g->bg_colour = '#FFFFFF'; echo utf8_encode($g->render()); }
$t[2] = 0; } $bar_green->data[] = $t[2]; if ($t[0] > $tmax) { $tmax = $t[0]; } if ($t[1] > $tmax) { $tmax = $t[1]; } if ($t[2] > $tmax) { $tmax = $t[2]; } } // create the graph object: $g = new graph(); $g->title('Statystyka rozmów', '{font-size:15px; color: #FFFFFF; margin: 5px; background-color: #505050; padding:5px; padding-left: 20px; padding-right: 20px;}'); //$g->set_data( $data_1 ); //$g->bar_3D( 75, '#D54C78', '2006', 10 ); //$g->set_data( $data_2 ); //$g->bar_3D( 75, '#3334AD', '2007', 10 ); $g->data_sets[] = $bar_red; $g->data_sets[] = $bar_blue; $g->data_sets[] = $bar_green; // $g->set_x_axis_3d( 3 ); $g->x_axis_colour('#909090', '#ADB5C7'); $g->y_axis_colour('#909090', '#ADB5C7'); $g->set_x_labels($x_labels); $g->set_x_label_style(10, 'black', 1); $g->set_y_max($tmax); $g->y_label_steps(5); $g->set_y_legend('Ilosc sekund', 12, '#736AFF');
/** * Generates report of projects created * * @access public * @param nil * @return void */ function projectsCreated() { //Load Language File For this $this->lang->load('enduser/reports', $this->config->item('language_code')); //Load Library File $this->load->library('graph'); // generate some random data srand((double) microtime() * 1000000); // NOTE: how we are filling 3 arrays full of data, // one for each line on the graph $data_1 = array(); $mon = array(); for ($i = 0; $i < 6; $i++) { $lastmonth = mktime(0, 0, 0, date("m") - $i, date("d"), date("Y")); $month = date('n', $lastmonth); $year = date('Y', $lastmonth); $data_1[] = $this->skills_model->getNumProjectsByMonth($month, $year); $mon[] = date('M', $lastmonth); } $g = new graph(); $g->title($this->lang->line('Projects added last 6 months'), '{font-size: 20px; color: #999999}'); // we add 2 sets of data: $g->set_data($data_1); $g->set_bg_colour('0xFFFFFF'); // we add the 3 line types and key labels $g->line_dot(3, 5, 'FF6633', 'Projects', 12); // <-- 3px thick + dots $g->set_x_labels($mon); $g->set_x_label_style(10, '0x000000', 0, 1); $g->set_y_max(50); $g->y_label_steps(4); echo $g->render(); }
/** */ function chart_flash($data, $params) { if (empty($data)) { return; } include_once YF_PATH . 'libs/yf_open_flash_chart/open-flash-chart.php'; $width = isset($params['width']) ? $params['width'] : '90%'; $height = isset($params['height']) ? $params['height'] : '90%'; $g = new graph(); $g->js_path = isset($params['js_path']) ? $params['js_path'] : '/js/'; $g->swf_path = isset($params['swf_path']) ? $params['swf_path'] : '/js/'; $g->title(' ', '{font-size: 20px;}'); $g->bg_colour = '#e9e9e9'; $g->x_axis_colour('#000000', '#c1c1c1'); $g->y_axis_colour('#000000', '#c1c1c1'); $g->set_data($data); // Find maximal strlen of x axis label foreach ((array) $data as $k => $v) { $xlabel_len[] = _strlen($k); } if (max($xlabel_len) > 7) { $orientation = 2; } else { $orientation = 0; } $g->set_x_labels(array_keys($data)); $g->set_x_label_style(10, '#000000', $orientation, 2); $g->set_y_max(max($data)); $g->set_y_label_style(10, '#000000', 0, 2); $g->set_y_legend('Price', 10, '#000000'); $g->set_x_legend('Date', 10, '#000000'); $g->set_tool_tip('#val# EUR on #x_label#'); $g->line_dot(2, 3, '#0750D9', '', 10); // формат значений $g->set_num_decimals(0); $g->set_y_format('#val#€'); $g->set_width($width); $g->set_height($height); $g->set_output_type('js'); return $g->render(); }
function grafico4($codigoadm, $partida) { $this->load->library('Graph'); $mSQL = "SELECT codigopres,a.ordinal, \r\n\t\t\t\t\tSUM(asignacion+aumento-disminucion+traslados) as presupuesto, \r\n\t\t SUM(comprometido) comprometido, \r\n\t\t SUM(causado) causado, \r\n\t\t SUM(pagado) pagado\r\n\t\tFROM ordinal a JOIN ppla b ON a.codigopres=b.codigo\r\n\t\tWHERE b.movimiento='S' AND a.codigoadm='{$codigoadm}' AND codigopres LIKE '{$partida}%'\r\n\t\tGROUP BY codigopres,a.ordinal\r\n\t\tHAVING presupuesto<>0"; $maxval = 0; $query = $this->db->query($mSQL); foreach ($query->result() as $row) { if ($row->presupuesto > $maxval) { $maxval = $row->presupuesto; } $codigopres[] = $row->ordinal; $data_1[] = $row->presupuesto; $data_2[] = $row->comprometido; $data_3[] = $row->causado; $data_4[] = $row->pagado; } $om = 1; while ($maxval / $om > 100) { $om = $om * 10; } $bar_1 = new bar(75, '#0053A4'); $bar_2 = new bar(75, '#9933CC'); $bar_3 = new bar(75, '#639F45'); $bar_4 = new bar(75, '#C34F33'); $bar_1->key('Presupuesto', 10); $bar_2->key('Comprometido', 10); $bar_3->key('Causado', 10); $bar_4->key('Pagado', 10); for ($i = 0; $i < count($data_1); $i++) { $bar_1->add_data_tip($data_1[$i] / $om, graph::esc(number_format($data_1[$i], 2, ',', '.'))); $bar_2->add_data_tip($data_2[$i] / $om, graph::esc(number_format($data_2[$i], 2, ',', '.'))); $bar_3->add_data_tip($data_3[$i] / $om, graph::esc(number_format($data_3[$i], 2, ',', '.'))); $bar_4->add_data_tip($data_4[$i] / $om, graph::esc(number_format($data_4[$i], 2, ',', '.'))); } $g = new graph(); $g->set_is_decimal_separator_comma(1); if ($maxval > 0) { $g->data_sets[] = $bar_1; $g->data_sets[] = $bar_2; $g->data_sets[] = $bar_3; $g->data_sets[] = $bar_4; $g->set_x_labels($codigopres); $g->set_x_label_style(10, '#000000', 2, 1); $g->set_x_axis_steps(10); $g->set_x_legend('Presupuestos', 14, '#004381'); $g->bg_colour = '#FFFFFF'; $g->set_tool_tip('#key#<br>Codigo: #x_label# <br>Monto: #tip#'); $g->set_y_max(ceil($maxval / $om)); $g->y_label_steps(5); $g->set_y_legend('Presupuesto x ' . number_format($om, 0, '', '.') . ' (Bs)', 16, '#004381'); } else { $g->title('No existen Presupuestos', '{font-size:18px; color: #d01f3c}'); } $g->bg_colour = '#FFFFFF'; echo utf8_encode($g->render()); }
function gdiarias($anio = '', $producto = '', $mes = '') { $this->load->library('Graph'); $this->lang->load('calendar'); if (empty($anio)) { return; } $producto = radecode($producto); $fechai = $anio . str_pad($mes, 2, "0", STR_PAD_LEFT) . '01'; $fechaf = $anio . str_pad($mes, 2, "0", STR_PAD_LEFT) . '31'; //echo "fechai=".$fechai; //echo "fechaf=".$fechaf; $mSQL = "SELECT codigo, LEFT(descrip,20)AS nombre,DAYOFMONTH(a.fecha) as dia,\n SUM(cantidad)AS cantidad,\n SUM(importe)AS grantotal\n FROM itscst AS a\n WHERE fecha>='{$fechai}' AND fecha<='{$fechaf}' AND codigo='{$producto}'\n GROUP BY dia ORDER BY fecha"; //echo $mSQL; $maxval = 0; $query = $this->db->query($mSQL); foreach ($query->result() as $row) { if ($row->grantotal > $maxval) { $maxval = $row->grantotal; } $fecha[] = $row->dia; $nombre = $row->nombre; $data_1[] = $row->grantotal; } $om = 1; while ($maxval / $om > 100) { $om = $om * 10; } $bar_1 = new bar(75, '#ADD8E6'); $bar_1->key('Compras', 10); for ($i = 0; $i < count($data_1); $i++) { $bar_1->add_data_tip($data_1[$i] / $om, graph::esc(number_format($data_1[$i], 2, ',', '.'))); } $g = new graph(); $g->set_is_decimal_separator_comma(1); if ($maxval > 0) { $g->title('Compra de ' . $nombre . ' en el mes ' . $mes . '/' . $anio, '{font-size: 16px; color:##00264A}'); $g->data_sets[] = $bar_1; $g->set_x_labels($fecha); $g->set_x_label_style(9, '#000000', 3, 1); $g->set_x_axis_steps(10); $g->x_axis_colour('#A6A6A6', '#ADB5C7'); $g->set_x_legend('Dias', 16, '#004381'); $g->bg_colour = '#FFFFFF'; $g->set_tool_tip('#key#<br>Dia: #x_label# <br>Monto: #tip#'); $g->set_y_max(ceil($maxval / $om)); $g->y_label_steps(5); $g->y_axis_colour('#A6A6A6', '#ADB5C7'); $g->set_y_legend('Compras x ' . number_format($om, 0, '', '.') . ' (Bs)', 16, '#004381'); } else { $g->title('No existen compras con los datos seleccionados', '{font-size:18px; color: #d01f3c}'); } $g->bg_colour = '#FFFFFF'; echo utf8_encode($g->render()); }
function gmensuales($anio = '', $dia = '') { $this->load->library('Graph'); //$this->lang->load('calendar'); //if (empty($mes) or empty($dia)) return; $fechai = $anio . '0101'; $fechaf = $anio . '1231'; $mSQL = "SELECT fecha,IF(WEEKDAY(fecha)=0,'Lunes',IF(WEEKDAY(fecha)=1,'Martes',IF(WEEKDAY(fecha)=2,'Miercoles',IF(WEEKDAY(fecha)=3,'Jueves',IF(WEEKDAY(fecha)=4,'Viernes',IF(WEEKDAY(fecha)=5,'Sabado','Domingo'))))))AS tdia,\n DATE_FORMAT(fecha,'%m')AS mes,SUM(monto)AS grantotal,SUM(impuesto)AS IVA,SUM(transac)as transacciones \n\t\tFROM est_fecha WHERE fecha>='{$fechai}' AND fecha<='{$fechaf}'AND WEEKDAY(fecha)='{$dia}'\n\t\tGROUP BY MONTH(fecha)\n\t\tORDER BY fecha ASC"; //echo $mSQL; $maxval = 0; $query = $this->db->query($mSQL); foreach ($query->result() as $row) { if ($row->grantotal > $maxval) { $maxval = $row->grantotal; } $mes[] = $row->mes; $tdia = $row->tdia; $data_1[] = $row->grantotal; } $om = 1; while ($maxval / $om > 100) { $om = $om * 10; } $bar_1 = new bar_outline(50, '#56AC8B', '#3F7E66'); $bar_1->key('Monto', 10); for ($i = 0; $i < count($data_1); $i++) { $bar_1->add_data_tip($data_1[$i] / $om, graph::esc(number_format($data_1[$i], 2, ',', '.'))); } $g = new graph(); $g->set_is_decimal_separator_comma(1); if ($maxval > 0) { $g->title('Ventas en el año ' . $anio . ' del dia ' . $tdia, '{font-size: 16px; color:##00264A}'); $g->data_sets[] = $bar_1; $g->x_axis_colour('#A6A6A6', '#ADB5C7'); $g->set_x_labels($mes); $g->set_x_label_style(10, '#000000', 3, 1); $g->set_x_axis_steps(10); $g->set_x_legend('Mes', 14, '#004381'); $g->bg_colour = '#FFFFFF'; $g->set_tool_tip('#key#<br>Mes: #x_label# <br>Monto: #tip#'); $g->set_y_max(ceil($maxval / $om)); $g->y_label_steps(5); $g->y_axis_colour('#A6A6A6', '#ADB5C7'); $g->set_y_legend('Ventas x ' . number_format($om, 0, '', '.') . ' (Bs)', 16, '#004381'); } else { $g->title('No existen ventas con los datos seleccionados', '{font-size:18px; color: #d01f3c}'); } $g->bg_colour = '#FFFFFF'; echo utf8_encode($g->render()); }
if (sizeof($oCat->getAllChildren($val)) == 0) { $links[] = "javascript:alert('Cette categorie n a pas de sous-categorie')"; } else { $links[] = "./statsCompte.php?cat_id={$val}"; } } $pie->pie_slice_colours($color); $oSmarty->assign("DEBUG", $debug); $pie->pie_values($data, $label, $links); // // Colours for each slice, in this case some of the colours // will be re-used (3 colurs for 5 slices means the last two // slices will have colours colour[0] and colour[1]): // $pie->set_tool_tip('#val#%'); $pie->set_width(650); $pie->set_height(400); $pie->title('Résumé sur l\'année', '{font-size:18px; color: #d01f3c}'); $pie->set_output_type('js'); $ofc2 = $pie->render(); /*************************************/ $oSmarty->assign("OFC", $ofc); $oSmarty->assign("OFC2", $ofc2); $oSmarty->assign("OFC3", $ofc3); // stats $chrono->stop(); $oSmarty->assign("TIME", $chrono->getTime()); $oSmarty->assign("REQUESTS", $mysql->nbRequest); // Affichage du template après compilation $oSmarty->debugging = false; $oSmarty->display('statsCompte.html');
case 'os': $sql = "SELECT LEFT(bots_t.os_version_bot, 3) val, count(loads_t.upId) num FROM bots_t, loads_t \n\t\t\t\tWHERE bots_t.id_bot = loads_t.fk_bot_id AND loads_t.fk_task_id = '{$tid}' AND loads_t.upStatus = '{$status}'\n\t\t\t\tGROUP BY val"; break; case 'country': $sql = "SELECT country_t.name_country val, count(loads_t.upId) num FROM loads_t, bots_t, city_t, country_t \n\t\t\t\tWHERE bots_t.id_bot = loads_t.fk_bot_id AND bots_t.fk_city_bot = city_t.id_city AND city_t.fk_country_city =\n\t\t\t\tcountry_t.id_country AND loads_t.fk_task_id = '{$tid}' AND loads_t.upStatus='{$status}' \n\t\t\t\tGROUP BY country_t.id_country ORDER BY num DESC LIMIT 0, " . $db->config('stat_country_num'); break; } $res = $db->query($sql); if ($db->affected_rows > 0) { while ($mres = $res->fetch_array()) { $data[] = $mres['num']; if ($_GET['by'] == 'os') { $legend[] = get_os($mres['val']); } else { $legend[] = CountryCode($mres['val']); } } } if (!count($data)) { $data[] = 0; $legend[] = 'None'; } $title = $_GET['status'] == 'good' ? 'Good' : 'Fail'; require_once ROOT_PATH . '/plugins/ofc/php-ofc-library/open-flash-chart.php'; $g = new graph(); $g->pie(60, '#505050', '{font-size: 12px; color: #404040;'); $g->pie_values($data, $legend); $g->pie_slice_colours(array('#d01f3c', '#356aa0', '#C79810')); $g->set_tool_tip('#x_label# - #val#'); $g->title($title, '{font-size:18px; color: #d01f3c}'); echo $g->render();
function return_ofc_data($styles) { global $cms, $ps; $ofc = $cms->input['ofc']; $data = array(); $data_avg = array(); $avg = 0; $interval = 1000; $maxlimit = 1000; $minlimit = 0; $max = 21; $field = $ofc == 'skill' ? 'dayskill' : $ofc; if (!in_array($field, array('skill', 'kills', 'onlinetime'))) { $field = 'dayskill'; } $plrid = $cms->input['id']; $ps->db->query("SELECT statdate,{$field} FROM {$ps->t_plr_data} WHERE plrid=" . $ps->db->escape($plrid, true) . " ORDER BY statdate DESC LIMIT {$max}"); $i = 1; while (list($statdate, $skill) = $ps->db->fetch_row(0)) { $skill = round($skill); $sum += $skill; $data[] = $skill; $labels[] = $statdate; } if ($data) { $data = array_reverse($data); $labels = array_reverse($labels); $avg = $sum / count($data); $data_avg[] = $avg; $data_avg = array_pad($data_avg, count($data) - 1, 'null'); // yes, 'null' is a string $data_avg[] = $avg; $minlimit = floor(min($data) / $interval) * $interval; $maxlimit = ceil(max($data) / $interval) * $interval; } include_once PS_ROOTDIR . '/includes/ofc/open-flash-chart.php'; $g = new graph(); $g->bg_colour = $styles->val('flash.plrskill.bgcolor', 'flash.bgcolor'); $g->title($styles->val('flash.plrskill.title'), '{' . $styles->val('flash.plrskill.title.style', 'font-size: 12px', true) . '}'); $g->set_data($data_avg); $g->set_data($data); $lines = $styles->attr('flash.plrskill.lines.line'); $g->line(coalesce($lines[0]['width'], 1), coalesce($lines[0]['color'], '#9999ee'), coalesce($lines[0]['key'], $cms->trans('Average')), coalesce($lines[0]['key_size'], $styles->val('flash.plrskill.lines.key_size'), 9)); $g->line(coalesce($lines[1]['width'], 1), coalesce($lines[1]['color'], '#9999ee'), coalesce($lines[1]['key'], $cms->trans('Skill')), coalesce($lines[1]['key_size'], $styles->val('flash.plrskill.lines.key_size'), 9)); // label each point with its value $g->set_x_labels($labels); // $g->set_x_axis_steps(count($labels) / 3 + 1); // $g->set_x_tick_size(1); // $g->set_x_label_style( 10, '0x000000', 0, 2 ); // $g->set_x_label_style('none'); $g->set_x_label_style(8, '#000000', 2); $g->set_inner_background(coalesce($styles->val('flash.plrskill.bg_inner1', 'flash.bg_inner1'), '#E3F0FD'), coalesce($styles->val('flash.plrskill.bg_inner2', 'flash.bg_inner2'), '#CBD7E6'), coalesce($styles->val('flash.plrskill.bg_inner_angle', 'flash.bg_inner_angle'), 90)); $g->x_axis_colour('#eeeeee', '#eeeeee'); $g->y_axis_colour('#eeeeee', '#eeeeee'); // $g->set_x_offset( false ); // set the Y max $g->set_y_max($maxlimit); $g->set_y_min($minlimit); // label every 20 (0,20,40,60) // $g->x_label_steps( 2 ); // display the data print $g->render(); }
$tab["$name"][$i] += $valeur; $total["$name"] += $valeur; } } } } /******************************************************************************/ // generate some random data: die; srand((double) microtime() * 1000000); $max = 50; $data = array(); for ($i = 0; $i < 12; $i++) { $data[] = rand(0, $max); } // use the chart class to build the chart: include_once 'ofc-library/open-flash-chart.php'; $g = new graph(); // Spoon sales, March 2007 $g->title('Chaussures de Jie ' . date("Y"), '{font-size: 26px;}'); $g->set_data($data); // label each point with its value $g->set_x_labels(array('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec')); // set the Y max $g->set_y_max(60); // label every 20 (0,20,40,60) $g->y_label_steps(6); // display the data echo $g->render();
#!/usr/bin/php <?php $config = ['git_urls' => ['https://github.com/yfix/yf_open_flash_chart.git' => 'yf_open_flash_chart/'], 'require_once' => ['yf_open_flash_chart/open-flash-chart.php'], 'example' => function () { $bar = new bar_outline(70, '#A2C2FC', '#0750D9'); $bar->data = []; $g = new graph(); $g->js_path = isset($params['js_path']) ?: '/js/'; $g->swf_path = isset($params['swf_path_path']) ?: '/js/'; $g->title(' ', '{font-size: 20px;}'); $g->set_tool_tip('#val# EUR on #x_label#'); $g->set_output_type('js'); echo $g->render(); }]; if ($return_config) { return $config; } require_once __DIR__ . '/_yf_autoloader.php'; new yf_autoloader($config);
function PN_BlogStatisticsProcess($target) { global $blogid, $pluginURL, $defaultURL, $blog; if (doesHaveOwnership()) { include_once 'lib/open-flash-chart.php'; $grpStyle = $_GET['grpStyle']; $grpData = explode("|", $_GET['grpData']); $grpTotal = $_GET['grpTotal']; $grpYear = $_GET['grpYear']; $grpTypeName = $_GET['grpTypeName']; $grpLinkType = $_GET['grpLinkType']; $grpXLabelType = isset($_GET['grpXLabelType']) ? $_GET['grpXLabelType'] : 0; $grpLabel = explode("|", $_GET['grpLabel']); $grpSubTitle = array(); $grpLabelTemp = array(); if (!empty($_GET['grpData'])) { if ($grpTypeName == "category") { for ($i = 0; $i < count($grpLabel); $i++) { $grpSubTitle[] = rawurlencode($grpLabel[$i] == 0 ? _t('분류없음') : htmlspecialchars(UTF8::lessenAsEm(getCategoryNameById($blogid, $grpLabel[$i]), 15))); } } else { if ($grpTypeName == "hits" || $grpTypeName == "cmmax" || $grpTypeName == "tbmax" || $grpTypeName == "tagmax") { for ($i = 0; $i < count($grpLabel); $i++) { $grpSubTitle[] = rawurlencode(htmlspecialchars(UTF8::lessenAsEm(str_replace(",", "-", getEntryTitleById($blogid, $grpLabel[$i])), 25))); } } else { if ($grpTypeName == "commenter" || $grpTypeName == "tag") { for ($i = 0; $i < count($grpLabel); $i++) { $grpSubTitle[] = htmlspecialchars(UTF8::lessenAsEm($grpLabel[$i], 15)); $grpLabelTemp[] = htmlspecialchars(UTF8::lessenAsEm($grpLabel[$i], 6, '')); } $grpLabel = $grpLabelTemp; } else { if ($grpTypeName == "time") { for ($i = 0; $i < count($grpLabel); $i++) { $grpSubTitle[] = rawurlencode($grpLabel[$i] . "시"); } } else { if ($grpTypeName == "refer") { for ($i = 0; $i < count($grpLabel); $i++) { $tmpHost = explode('.', $grpLabel[$i]); $tmpHostCnt = count($tmpHost) - 1; $tmpDomain = (strlen($tmpHost[$tmpHostCnt]) < 3 ? $tmpHost[$tmpHostCnt - 2] . '.' : '') . $tmpHost[$tmpHostCnt - 1] . '.' . $tmpHost[$tmpHostCnt]; $cutDomain = explode('.', $tmpDomain); $grpSubTitle[] = htmlspecialchars($grpLabel[$i]); $grpLabelTemp[] = htmlspecialchars(UTF8::lessenAsEm($cutDomain[0], 6, '')); } $grpLabel = $grpLabelTemp; } else { if ($grpTypeName == "referkey") { for ($i = 0; $i < count($grpLabel); $i++) { $tmpLabel = explode('(', $grpLabel[$i]); $grpSubTitle[] = htmlspecialchars(UTF8::lessenAsEm($grpLabel[$i], 15)); $grpLabelTemp[] = htmlspecialchars(UTF8::lessenAsEm($tmpLabel[0], 6, '')); } $grpLabel = $grpLabelTemp; } } } } } } $g = new graph(); $g->bg_colour = '#FFFFFF'; if ($grpStyle == "pie") { $grpClickLink = ""; $grpPercent = array(); $grpLink = array(); for ($i = 0; $i < count($grpData); $i++) { $grpPercent[] = round($grpData[$i] / $grpTotal * 100, 0); } if ($grpLinkType == "archiveYear") { for ($i = 0; $i < count($grpLabel); $i++) { $permalink = $defaultURL . "/archive/" . substr($grpLabel[$i], 0, 4); $grpLink[] = "javascript:window.open('{$permalink}');void(0)"; } $grpClickLink = "<br>click on the pie."; } else { if ($grpLinkType == "archiveMonth" && $grpYear != "9999") { for ($i = 0; $i < count($grpLabel); $i++) { $cutMonth = str_replace("월", "", $grpLabel[$i]); $tmpMonth = strlen($cutMonth) == 1 ? "0" . $cutMonth : $cutMonth; $permalink = $defaultURL . "/archive/" . $grpYear . $tmpMonth; $grpLink[] = "javascript:window.open('{$permalink}');void(0)"; } $grpClickLink = "<br>click on the pie."; } else { if ($grpLinkType == "category") { for ($i = 0; $i < count($grpLabel); $i++) { $permalink = $defaultURL . "/category/" . getCategoryLabelById($blogid, $grpLabel[$i]); $grpLink[] = "javascript:window.open('{$permalink}');void(0)"; } $grpClickLink = "<br>click on the pie."; } else { if ($grpLinkType == "entry") { for ($i = 0; $i < count($grpLabel); $i++) { $permalink = $defaultURL . ($blog['useSlogan'] ? "/entry/" . getEntrySloganById($blogid, $grpLabel[$i]) : "/" . $grpLabel[$i]); $grpLink[] = "javascript:window.open('{$permalink}');void(0)"; } $grpClickLink = "<br>click on the pie."; } else { if ($grpLinkType == "tag") { for ($i = 0; $i < count($grpLabel); $i++) { $permalink = $defaultURL . "/tag/" . $grpLabel[$i]; $grpLink[] = "javascript:window.open('{$permalink}');void(0)"; } $grpClickLink = "<br>click on the pie."; } } } } } $g->pie(75, '#ffffff', '#000000', false, 1); $g->pie_values($grpData, $grpLabel, $grpLink, $grpSubTitle); $g->pie_slice_colours(array('#B9D2E6', '#E2B11C', '#A3CF22', '#EC7122', '#4FC0C0', '#D45E5E', '#A275A2', '#52A7D2', '#9F373B', '#B4ADA5', '#5FC97E', '#CFB85D', '#9DC64E', '#FFAB29', '#E23838', '#43CEA9', '#4CA9D9', '#BA4ECA', '#6C79DA', '#CCCCCC', '#AB5C06', '#C06868', '#5FC97E', 'CFB85D')); $g->set_tool_tip((count($grpSubTitle) ? '#x_title#<br>' : '#x_label#<br>') . '#val#(#percent#%25)' . $grpClickLink); } else { if ($grpStyle == "bar") { $g->title(' ', '{font-size:12px; color:#000000;margin-top:0px;padding:3px;}'); $g->set_data($grpData); $g->set_bar_titles($grpSubTitle); $g->bar_glass(70, '#68B1D9', '#62A0C1', '', 12); $g->bar_colours(array('#B9D2E6', '#E2B11C', '#A3CF22', '#EC7122', '#4FC0C0', '#D45E5E', '#A275A2', '#52A7D2', '#9F373B', '#B4ADA5', '#5FC97E', '#CFB85D', '#9DC64E', '#FFAB29', '#E23838', '#43CEA9', '#4CA9D9', '#BA4ECA', '#6C79DA', '#CCCCCC', '#AB5C06', '#C06868', '#5FC97E', 'CFB85D')); $g->x_axis_colour('#909090', '#D2D2FB'); $g->y_axis_colour('#909090', '#D2D2FB'); $g->set_x_labels($grpLabel); $g->set_x_label_style(10, '#000000', $grpXLabelType, -1); $g->set_y_label_style(9, '#888888'); $tmp_data_max = floor(Max($grpData) * 1.2); if ($tmp_y_max = $tmp_data_max % 10) { $tmp_data_max = $tmp_data_max + (10 - $tmp_y_max); } $g->set_y_max($tmp_data_max); $g->set_y_legend('', 11, '#736AFF'); $g->set_tool_tip((count($grpSubTitle) ? '#x_title#<br>' : '#x_label#<br>') . '#val#'); } else { if ($grpStyle == "line") { $g->title('', '{font-size:1px; color:#000000;}'); $g->set_data($grpData); $g->line_dot(2, 4, '#6FBBC6', _t('최근 7일간 방문자 수'), 11); // <-- 3px thick + dots $g->set_x_labels($grpLabel); $g->set_x_label_style(8, '#333333', $grpXLabelType, -1); $g->x_axis_colour('#909090', '#e7e7e7'); $g->y_axis_colour('#909090', '#e7e7e7'); $tmp_data_max = floor(Max($grpData) * 1.2); if ($tmp_y_max = $tmp_data_max % 10) { $tmp_data_max = $tmp_data_max + (10 - $tmp_y_max); } $g->set_y_max($tmp_data_max); $g->set_y_legend('', 1, '#736AFF'); $g->y_label_steps(4); $g->set_y_label_style(8, '#333333', $grpXLabelType, -1); $g->set_tool_tip((count($grpSubTitle) ? '#x_title#<br>' : '#x_label#<br>') . '#val#'); } } } echo $g->render(); flush(); } } }
function gdiarias($anio = '', $proveed = '', $mes = '') { $this->load->library('Graph'); if (empty($mes) or empty($anio) or empty($proveed)) { return; } $proveed = radecode($proveed); $fechai = $anio . str_pad($mes, 2, '0', STR_PAD_LEFT) . '01'; $fechaf = $anio . str_pad($mes, 2, '0', STR_PAD_LEFT) . '31'; $dbfechai = $this->db->escape($fechai); $dbfechaf = $this->db->escape($fechaf); $dbproveed = $this->db->escape($proveed); $mSQL = "SELECT LEFT(nombre,10)as nombre,proveed,DAYOFMONTH(fecha) AS dia ,\n\t\tSUM(montonet*IF(tipo_doc='NC', -1, 1)) AS grantotal,\n\t\tSUM(credito*IF( tipo_doc='NC', -1, 1)) AS credito,\n\t\tSUM(inicial*IF( tipo_doc='NC', -1, 1)) AS contado\n\t\tFROM scst\n\t\tWHERE tipo_doc<>'NE' AND fecha>={$dbfechai} AND fecha<={$dbfechaf} AND proveed={$dbproveed}\n\t\t\tAND actuali >= fecha\n\t\tGROUP BY fecha ORDER BY fecha,grantotal DESC LIMIT 31"; //echo $mSQL; $maxval = 0; $query = $this->db->query($mSQL); foreach ($query->result() as $row) { if ($row->grantotal > $maxval) { $maxval = $row->grantotal; } $fecha[] = $row->dia; $nombre = str_replace('&', '', $row->nombre); //$data_1[]=$row->contado; //$data_2[]=$row->credito; $data_3[] = $row->grantotal; } $om = 1; while ($maxval / $om > 100) { $om = $om * 10; } //$bar_1 = new bar(75, '#0053A4'); //$bar_2 = new bar(75, '#9933CC'); $bar_3 = new bar(75, '#639F45'); //$bar_1->key('Contado',10); //$bar_2->key('Credito',10); $bar_3->key('Total Bs.', 10); for ($i = 0; $i < count($data_3); $i++) { //$bar_1->add_data_tip($data_1[$i]/$om, graph::esc( number_format($data_1[$i],2,',','.'))); //$bar_2->add_data_tip($data_2[$i]/$om, graph::esc( number_format($data_2[$i],2,',','.'))); $bar_3->add_data_tip($data_3[$i] / $om, graph::esc(number_format($data_3[$i], 2, ',', '.'))); } $g = new graph(); $g->set_is_decimal_separator_comma(1); if ($maxval > 0) { $g->title('Compras a ' . $nombre . ' en el mes ' . $mes . '/' . $anio, '{font-size: 16px; color:##00264A}'); //$g->data_sets[] = $bar_1; //$g->data_sets[] = $bar_2; $g->data_sets[] = $bar_3; $g->set_x_labels($fecha); $g->set_x_label_style(10, '#000000', 3, 1); $g->set_x_axis_steps(10); $g->set_x_legend('Dias', 14, '#004381'); $g->bg_colour = '#FFFFFF'; $g->set_tool_tip('#key#<br>Dia: #x_label# <br>Monto: #tip#'); $g->set_y_max(ceil($maxval / $om)); $g->y_label_steps(5); $g->set_y_legend('Compras x ' . number_format($om, 0, '', '.') . ' (Bs)', 16, '#004381'); } else { $g->title('No existen compras con los datos seleccionados', '{font-size:18px; color: #d01f3c}'); } $g->bg_colour = '#FFFFFF'; echo utf8_encode($g->render()); }
function gdiarias($anio = '', $cliente = '', $mes = '') { $this->load->library('Graph'); if (empty($mes) or empty($anio) or empty($cliente)) { return; } $fechai = $anio . str_pad($mes, 2, "0", STR_PAD_LEFT) . '01'; $fechaf = $anio . str_pad($mes, 2, "0", STR_PAD_LEFT) . '31'; $mSQL = "SELECT cod_cli,nombre,fecha,DAYOFMONTH(fecha) as dia, \n\t\tsum(gtotal*IF(tipo='D', -1, 1)) AS grantotal, \n\t\tsum(gtotal*IF(tipo='D', -1, 1)) AS contado, \n\t\tsum(gtotal*IF(tipo='D', -1, 1)) AS credito \n\t\tFROM fmay \n\t\tWHERE tipo<>'X' AND fecha>='{$fechai}' AND fecha<='{$fechaf}' AND cod_cli='{$cliente}' \n\t\tGROUP BY fecha ORDER BY fecha,grantotal DESC LIMIT 31"; //echo $mSQL; $maxval = 0; $query = $this->db->query($mSQL); foreach ($query->result() as $row) { if ($row->grantotal > $maxval) { $maxval = $row->grantotal; } $fecha[] = $row->dia; $data_1[] = $row->contado; $data_2[] = $row->credito; $data_3[] = $row->grantotal; } $nombre = $row->nombre; $om = 1; while ($maxval / $om > 100) { $om = $om * 10; } $bar_1 = new bar(75, '#0053A4'); $bar_2 = new bar(75, '#9933CC'); $bar_3 = new bar(75, '#639F45'); $bar_1->key('Contado', 10); $bar_2->key('Credito', 10); $bar_3->key('Total', 10); for ($i = 0; $i < count($data_1); $i++) { $bar_1->add_data_tip($data_1[$i] / $om, graph::esc(number_format($data_1[$i], 2, ',', '.'))); $bar_2->add_data_tip($data_2[$i] / $om, graph::esc(number_format($data_2[$i], 2, ',', '.'))); $bar_3->add_data_tip($data_3[$i] / $om, graph::esc(number_format($data_3[$i], 2, ',', '.'))); } $g = new graph(); $g->set_is_decimal_separator_comma(1); if ($maxval > 0) { $g->title('Compras de el cliente ' . $nombre . ' en el mes ' . $mes . '/' . $anio, '{font-size: 16px; color:#0F3054}'); $g->data_sets[] = $bar_1; $g->data_sets[] = $bar_2; $g->data_sets[] = $bar_3; $g->set_x_labels($fecha); $g->set_x_label_style(10, '#000000', 3, 1); $g->set_x_axis_steps(10); $g->set_x_legend('Dias', 14, '#004381'); $g->bg_colour = '#FFFFFF'; $g->set_tool_tip('#key#<br>Dia: #x_label# <br>Monto: #tip#'); $g->set_y_max(ceil($maxval / $om)); $g->y_label_steps(5); $g->set_y_legend('hospitalidad x ' . number_format($om, 0, '', '.') . ' (Bs)', 16, '#004381'); } else { $g->title('No existen ventas con los datos seleccionados', '{font-size:18px; color: #d01f3c}'); } $g->bg_colour = '#FFFFFF'; echo utf8_encode($g->render()); }
function gdiarias($anio = '', $producto = '', $mes = '') { $this->load->library('Graph'); if (empty($mes) or empty($anio) or empty($producto)) { return; } $fechai = $anio . str_pad($mes, 2, "0", STR_PAD_LEFT) . '01'; $fechaf = $anio . str_pad($mes, 2, "0", STR_PAD_LEFT) . '31'; $mSQL = "SELECT a.codigo AS codigo,b.descrip AS nombre,DAYOFMONTH(a.fecha) as dia,a.cantidad AS cantidad,\n SUM(a.venta)AS grantotal \n FROM costos AS a \n JOIN maes AS b ON a.codigo=b.codigo\n WHERE a.fecha >='{$fechai}' AND a.fecha <='{$fechaf}' AND a.codigo='{$producto}'\n GROUP BY fecha ORDER BY grantotal DESC"; echo $mSQL; $maxval = 0; $query = $this->db->query($mSQL); foreach ($query->result() as $row) { if ($row->grantotal > $maxval) { $maxval = $row->grantotal; } $fecha[] = $row->dia; $data_1[] = $row->grantotal; } $nombre = $row->nombre; $om = 1; while ($maxval / $om > 100) { $om = $om * 10; } $bar_1 = new bar(75, '#0F235F'); $bar_1->key('supermercado', 10); for ($i = 0; $i < count($data_1); $i++) { $bar_1->add_data_tip($data_1[$i] / $om, graph::esc(number_format($data_1[$i], 2, ',', '.'))); } $g = new graph(); $g->set_is_decimal_separator_comma(1); if ($maxval > 0) { $g->title('Ventas de ' . $nombre . ' en el mes ' . $mes . '/' . $anio, '{font-size: 16px; color:#0F3054}'); $g->data_sets[] = $bar_1; $g->set_x_labels($fecha); $g->set_x_label_style(10, '#000000', 3, 1); $g->set_x_axis_steps(10); $g->set_x_legend('Dias', 14, '#004381'); $g->bg_colour = '#FFFFFF'; $g->set_tool_tip('#key#<br>Dia: #x_label# <br>Monto: #tip#'); $g->set_y_max(ceil($maxval / $om)); $g->y_label_steps(5); $g->set_y_legend('supermercado x ' . number_format($om, 0, '', '.') . ' (Bs)', 16, '#004381'); } else { $g->title('No existen ventas con los datos seleccionados', '{font-size:18px; color: #d01f3c}'); } $g->bg_colour = '#FFFFFF'; echo utf8_encode($g->render()); }
function CasesByProcessPie() { $g->bg_colour = '#FFFFFF'; $dataSet = $this->getCasesByProcess(); $data = $dataSet['data']; $g = new graph(); $g->pie(80, '#505050', '{font-size: 12px; color: #404040;'); $g->pie_values($data, $dataSet['labelPie']); $g->pie_slice_colours(array('#d01f3c', '#356aa0', '#C79810', '#D54C78')); $g->set_tool_tip('#val# #x_label#'); $g->title('Cases by Process', '{font-size:16px; color: #d01f3c}'); echo $g->render(); }
if (( int ) $_GET ['quantidade' . $i] > 0) { $_nomes [$i] = $_GET ['nome' . $i]; $_quantidade [$i] = ( int ) $_GET ['quantidade' . $i]; } } require 'library/open-flash-chart.php'; $g = new graph ( ); // // PIE chart, 60% alpha // $g->pie ( 60, '#FFFFFF' ); $g->bg_colour = '#FFFFFF'; // // pass in two arrays, one of data, the other data labels // $g->pie_values ( $_quantidade, $_nomes ); // // Colours for each slice, in this case some of the colours // will be re-used (3 colurs for 5 slices means the last two // slices will have colours colour[0] and colour[1]): // $g->pie_slice_colours ( $_CONF['COLORS'] ); $g->set_tool_tip ( '#x_label#<br>#val# itens' ); $g->title ( '', '' ); echo $g->render (); ?>
function gmensuales($anio = '', $mes = '') { $this->load->library('Graph'); if (empty($mes) or empty($anio)) { return; } $fechai = $anio . str_pad($mes, 2, "0", STR_PAD_LEFT) . '01'; $fechaf = $anio . str_pad($mes, 2, "0", STR_PAD_LEFT) . '31'; $mSQL = "SELECT DAYOFMONTH(fecha)as dia, fecha,\n\t\tSUM(monto)AS grantotal,SUM(impuesto)AS IVA,SUM(transac)as transacciones \n\t\tfrom est_fecha where fecha>='{$fechai}' AND fecha<='{$fechaf}'\n\t\tGROUP BY fecha \n\t\tORDER BY fecha ASC"; //echo $mSQL; $maxval = 0; $query = $this->db->query($mSQL); foreach ($query->result() as $row) { if ($row->grantotal > $maxval) { $maxval = $row->grantotal; } $fecha[] = $row->dia; $data_1[] = $row->grantotal; } $om = 1; while ($maxval / $om > 100) { $om = $om * 10; } $bar_1 = new bar(75, '#44AC37'); $bar_1->key('Monto', 10); for ($i = 0; $i < count($data_1); $i++) { $bar_1->add_data_tip($data_1[$i] / $om, graph::esc(number_format($data_1[$i], 2, ',', '.'))); } $g = new graph(); $g->set_is_decimal_separator_comma(1); if ($maxval > 0) { $g->title('Ventas de en el mes ' . $mes . '/' . $anio, '{font-size: 16px; color:##00264A}'); $g->data_sets[] = $bar_1; $g->x_axis_colour('#A6A6A6', '#ADB5C7'); $g->set_x_labels($fecha); $g->set_x_label_style(10, '#000000', 3, 1); $g->set_x_axis_steps(10); $g->set_x_legend('Dias', 14, '#004381'); $g->bg_colour = '#FFFFFF'; $g->set_tool_tip('#key#<br>Dia: #x_label# <br>Monto: #tip#'); $g->set_y_max(ceil($maxval / $om)); $g->y_label_steps(5); $g->y_axis_colour('#A6A6A6', '#ADB5C7'); $g->set_y_legend('Ventas x ' . number_format($om, 0, '', '.') . ' (Bs)', 16, '#004381'); } else { $g->title('No existen ventas con los datos seleccionados', '{font-size:18px; color: #d01f3c}'); } $g->bg_colour = '#FFFFFF'; echo utf8_encode($g->render()); }
function grafico($anio = '') { $this->load->library('Graph'); $this->lang->load('calendar'); if (empty($anio)) { return; } $fechai = $anio . '0101'; $fechaf = $anio . '1231'; $mSQL = "SELECT MONTHNAME(fecha)AS mes,\n\t\tAVG(sueldoa) AS anterior,\n\t\tAVG(sueldo) AS actual\n\t\tFROM ausu\n\t\tWHERE fecha>='{$fechai}' AND fecha<='{$fechaf}'\n\t\tGROUP BY mes ORDER BY fecha"; //echo $mSQL; $maxval = 0; $query = $this->db->query($mSQL); foreach ($query->result() as $row) { if ($row->anterior > $maxval) { $maxval = $row->anterior; } $nmes[] = $this->lang->line('cal_' . strtolower($row->mes)); $data_1[] = $row->anterior; $data_2[] = $row->actual; //$data_3[]=$row->actual; } $om = 1; while ($maxval / $om > 100) { $om = $om * 10; } $bar_1 = new bar(75, '#0053A4'); $bar_2 = new bar(75, '#9933CC'); $bar_3 = new bar(75, '#639F45'); $bar_1->key('Sueldo Anterior', 10); $bar_2->key('Sueldo con Aumento', 10); //$bar_3->key('Total' ,10); for ($i = 0; $i < count($data_1); $i++) { $bar_1->add_data_tip($data_1[$i] / $om, graph::esc(number_format($data_1[$i], 2, ',', '.'))); $bar_2->add_data_tip($data_2[$i] / $om, graph::esc(number_format($data_2[$i], 2, ',', '.'))); $bar_3->add_data_tip($data_3[$i] / $om, graph::esc(number_format($data_3[$i], 2, ',', '.'))); } $g = new graph(); $g->title('Promedio de Aumento de Sueldos en el año ' . $anio, '{font-size: 22px; color:##00264A}'); $g->set_is_decimal_separator_comma(1); $g->data_sets[] = $bar_1; $g->data_sets[] = $bar_2; $g->data_sets[] = $bar_3; $g->set_x_labels($nmes); $g->set_x_label_style(9, '#000000', 3, 1); $g->set_x_axis_steps(8); $g->set_x_legend('Meses ', 16, '#004381'); $g->bg_colour = '#FFFFFF'; $g->set_tool_tip('#key#<br>Mes: #x_label# <br>Monto: #tip#'); $g->set_y_max(ceil($maxval / $om)); $g->y_label_steps(5); $g->set_y_legend('Sueldo x ' . number_format($om, 0, '', '.') . ' (Bs)', 16, '#004381'); echo utf8_encode($g->render()); }
function grafico($anio = '', $codigo = '') { $this->load->library('Graph'); if (empty($anio) or empty($codigo)) { return; } $fechai = $anio . '0101'; $fechaf = $anio . '1231'; $mSQL = "SELECT MONTHNAME(fecha)AS mes,codigo,nombre,sueldoa,sueldo FROM ausu\n WHERE fecha>='{$fechai}' AND fecha<='{$fechaf}'AND codigo='{$codigo}'\n ORDER BY fecha"; //echo $mSQL; $maxval = 0; $query = $this->db->query($mSQL); foreach ($query->result() as $row) { if ($row->sueldoa > $maxval) { $maxval = $row->sueldoa; } $nombre = $row->nombre; $meses[] = $row->mes; $data_1[] = $row->sueldoa; $data_2[] = $row->sueldo; //$data_3[]=$row->sueldoa; } $om = 1; while ($maxval / $om > 100) { $om = $om * 10; } $bar_1 = new bar(75, '#0053A4'); $bar_2 = new bar(75, '#9933CC'); //$bar_3 = new bar(75, '#639F45'); $bar_1->key('Sueldo Anterior', 10); $bar_2->key('Sueldo con Aumento', 10); //$bar_3->key('Total' ,10); for ($i = 0; $i < count($data_1); $i++) { $bar_1->add_data_tip($data_1[$i] / $om, graph::esc(number_format($data_1[$i], 2, ',', '.'))); $bar_2->add_data_tip($data_2[$i] / $om, graph::esc(number_format($data_2[$i], 2, ',', '.'))); //$bar_3->add_data_tip($data_3[$i]/$om, graph::esc( number_format($data_3[$i],2,',','.'))); } $g = new graph(); $g->title('Aumento de ' . $nombre . ' en el año ' . $anio, '{font-size: 20px; color:##00264A}'); $g->set_is_decimal_separator_comma(1); $g->data_sets[] = $bar_1; $g->data_sets[] = $bar_2; //$g->data_sets[] = $bar_3; $g->set_x_labels($meses); $g->set_x_label_style(10, '#000000', 3, 1); $g->set_x_axis_steps(10); $g->set_x_legend('Meses', 16, '#004381'); $g->bg_colour = '#FFFFFF'; $g->set_tool_tip('#key#<br>Mes: #x_label# <br>Monto: #tip#'); $g->set_y_max(ceil($maxval / $om)); $g->y_label_steps(5); $g->set_y_legend('Ventas x ' . number_format($om, 0, '', '.') . ' (Bs)', 16, '#004381'); echo utf8_encode($g->render()); }