本文整理汇总了PHP中Graph类的典型用法代码示例。如果您正苦于以下问题:PHP Graph类的具体用法?PHP Graph怎么用?PHP Graph使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Graph类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getGrafmayorcosto
public function getGrafmayorcosto()
{
JpGraph::module('bar');
$graph = new Graph(680, 300);
$graph->SetScale("textlin");
$graph->yscale->SetGrace(5);
$graph->SetBox(true);
$labels = array();
$valores = array();
foreach (Activo::where('id', '>', '0')->orderBy('costo', 'desc')->take(10)->get() as $activo) {
$labels[] = $activo->num_activo;
$valores[] = $activo->costo;
}
//titulo de la grafica
$graph->title->SetColor('black');
$graph->title->Set('Gráfica: Activos con Mayor Costo');
//valores de los labels en ambas axis y como se ubicaran
$graph->xaxis->SetTickLabels($labels);
$graph->xaxis->SetLabelAlign('center', 'top', 'center');
$graph->ygrid->SetFill(false);
$graph->yaxis->HideLabels(false);
$graph->yaxis->HideTicks(false, false);
//Fonts para las axis
$graph->xaxis->SetColor('black');
$graph->yaxis->SetColor('black');
//grafica de activos con mayor costo
$mayorCosto = new BarPlot($valores);
$mayorCosto->SetColor('white');
$mayorCosto->SetWidth(0.6);
//agrega la grafica generada a la instancia de la grafica
$graph->Add($mayorCosto);
//Despliega la grafica
$graph->Stroke();
}
示例2: build
public function build()
{
$path = APPPATH;
require_once $path . 'libraries/jpgraph/src/jpgraph.php';
require_once $path . 'libraries/jpgraph/src/jpgraph_bar.php';
// $datay = array(62, 105, 85, 50);
$datay = $this->parameters;
// Create the graph. These two calls are always required
// $graph = new Graph(350, 220, 'auto');
$graph = new Graph(350, 220, 'auto');
$graph->SetScale("textlin");
//$theme_class="DefaultTheme";
//$graph->SetTheme(new $theme_class());
// set major and minor tick positions manually
$graph->yaxis->SetTickPositions(array(0, 30, 60, 90, 120, 150), array(15, 45, 75, 105, 135));
$graph->SetBox(false);
//$graph->ygrid->SetColor('gray');
$graph->ygrid->SetFill(false);
$graph->xaxis->SetTickLabels(array('A', 'B', 'C', 'D'));
$graph->yaxis->HideLine(false);
$graph->yaxis->HideTicks(false, false);
// Create the bar plots
// $b1plot = new BarPlot($datay);
$b1plot = new BarPlot($datay);
// ...and add it to the graPH
$graph->Add($b1plot);
$b1plot->SetColor("white");
$b1plot->SetFillGradient("#4B0082", "white", GRAD_LEFT_REFLECTION);
$b1plot->SetWidth(45);
$graph->title->Set("Bar Gradient(Left reflection)");
// Display the graph
$d['grafica'] = $graph->Stroke("jacobo.png");
$d['path'] = $path;
return $d;
}
示例3: TopologicalSort
/**
* Der Graph muss aus DependencyVertices bestehen
*
* die besonderen Knoten brauchen wir, da wir "hasOutgoingEdges()" nicht ganz easy berechnen können
* (wir bräuchten die EdgesList flipped)
*
* Cormen, Thomas H.; Leiserson, Charles E.; Rivest, Ronald L.; Stein, Clifford (2001), "Section 22.4: Topological sort", Introduction to Algorithms (2nd ed.), MIT Press and McGraw-Hill, pp. 549–552, ISBN 0-262-03293-7.
*
* gibt eine Liste aller Vertices in der topologischen Sortierung zurück
* die elemente mit "den meisten dependencies" befinden sich hinten in der liste
* @return array
*/
public static function TopologicalSort(Graph $g)
{
$list = array();
if (count($g->V()) == 0) {
return $list;
}
// rufe DFS auf $g auf
// füge jeden abgearbeiteten Knoten an den Kopf einer Liste ein
$dfsVisit = function (DependencyVertice $vertice) use($g, &$list, &$dfsVisit) {
if (!$vertice->isVisited()) {
$vertice->setVisited(TRUE);
foreach ($g->N($vertice) as $adjacentVertice) {
$dfsVisit($adjacentVertice);
}
array_unshift($list, $vertice);
}
};
// wir beginnen nicht mit einem Startknoten sondern mit allen Startknoten, die keine dependencies haben
$s = array();
foreach ($g->V() as $vertice) {
if (count($vertice->getDependencies()) === 0) {
$s[] = $vertice;
$dfsVisit($vertice);
}
}
if (count($s) === 0) {
throw new TopologicalSortRuntimeException('Der Graph g kann nicht topologisch sortiert werden. Es wurden keine Startknoten gefunden die überhaupt keine Dependencies haben');
}
return $list;
}
示例4: executeGetFunctionGraph
public function executeGetFunctionGraph(sfWebRequest $request)
{
$this->getUrlParameters($request);
$this->fct_id = $request->getParameter('function_id');
$this->fct_ref = $request->getParameter('function_ref');
//récupération du nom pour les affichages.
$this->node = Doctrine_Core::getTable('EiTree')->findOneByRefObjAndObjIdAndType($this->fct_ref, $this->fct_id, 'Function');
//récupération des temps d'execution
$this->times = Doctrine_Core::getTable('EiFonction')->getTimeStats($this->project_id, $this->project_ref, $this->fct_id, $this->fct_ref);
// Width and height of the graph
$width = 700;
$height = 300;
// Create a graph instance
$graph = new Graph($width, $height);
$graph->SetScale('intint');
$graph->title->Set($this->node->getName() . " 's execution time evolution.");
$graph->xaxis->title->Set('Execution');
$graph->yaxis->title->Set('Time (ms)');
$exec = array();
//récupération des durées uniquement
foreach ($this->times as $t => $time) {
$exec[] = $time['l_duree'];
}
$lineplot = new LinePlot($exec);
$graph->Add($lineplot);
$graph->Stroke();
return sfView::NONE;
}
示例5: graficofecha
public function graficofecha($gestion)
{
if (Conectar::con()) {
//$gestion='2013';
$objetoanalisis = new classAnalisis();
$anio = $gestion;
for ($i = 0; $i < 12; $i++) {
$dat[] = $objetoanalisis->ventamensual($anio, $i);
}
$datos = $dat;
//$datos =array('1','4','3','3','5');
$grafico = new Graph(400, 300, "auto");
$grafico->SetScale("textlin");
$grafico->title->Set("Resumen de ventas por gestion");
$grafico->xaxis->title->Set("");
$grafico->yaxis->title->Set("");
// Un gradiente Horizontal de rojo a azul
// 25 pixeles de ancho para cada barra
$lineplot = new LinePlot($datos);
$lineplot->SetColor("green");
$lineplot->SetWeight(2);
$grafico->Add($lineplot);
return $grafico->Stroke();
}
}
示例6: conf__grafico
function conf__grafico(toba_ei_grafico $grafico)
{
if (isset($this->datos)) {
$datos = array();
$leyendas = array();
foreach ($this->datos as $value) {
$datos[] = $value['resultado'];
$leyendas[] = $value['codc_uacad'];
}
}
require_once toba_dir() . '/php/3ros/jpgraph/jpgraph.php';
require_once toba_dir() . '/php/3ros/jpgraph/jpgraph_bar.php';
// Setup a basic graph context with some generous margins to be able
// to fit the legend
$canvas = new Graph(900, 300);
$canvas->SetMargin(100, 140, 60, 40);
$canvas->title->Set('Cr�dito Disponible');
//$canvas->title->SetFont(FF_ARIAL,FS_BOLD,14);
// For contour plots it is custom to use a box style ofr the axis
$canvas->legend->SetPos(0.05, 0.5, 'right', 'center');
$canvas->SetScale('intint');
//$canvas->SetAxisStyle(AXSTYLE_BOXOUT);
//$canvas->xgrid->Show();
$canvas->ygrid->Show();
$canvas->xaxis->SetTickLabels($leyendas);
// A simple contour plot with default arguments (e.g. 10 isobar lines)
$cp = new BarPlot($datos);
$cp->SetColor("#B0C4DE");
$cp->SetFillColor("#B0C4DE");
$cp->SetLegend("Resultado");
$canvas->Add($cp);
// Con esta llamada informamos al gr�fico cu�l es el gr�fico que se tiene
// que dibujar
$grafico->conf()->canvas__set($canvas);
}
示例7: plot
function plot($pid)
{
$this->_setValues($pid);
$graph = new Graph(600, 400);
$graph->img->SetMargin(60, 95, 40, 40);
$graph->SetShadow();
$graph->SetScale("textlog");
$colors = array("hotpink", "green", "blue", "gold", "blueviolet", "deepskyblue", "brown", "cadetblue", "darksalmon", "cornflowerblue", "darkslateblue", "limegreen", "yellow", "navy", "slategray");
srand(1);
for ($i = 0; $i < sizeof($this->_data); $i++) {
$bplot[$i] = new BarPlot($this->_data[$i]);
if ($i < sizeof($colors)) {
$color = $colors[$i];
} else {
$r = rand(0, 255);
$g = rand(0, 255);
$b = rand(0, 255);
$color = array($r, $g, $b);
}
$bplot[$i]->SetFillColor($color);
$bplot[$i]->SetLegend($this->_legend[$i]);
}
$gbplot = new GroupBarPlot($bplot);
$graph->Add($gbplot);
$graph->title->Set("# of Visited Articles per Month (log scale)");
$graph->title->SetFont(FONT2_BOLD);
$graph->xaxis->SetTickLabels($this->_months);
$graph->ygrid->Show(true, true);
$graph->xaxis->SetFont(FONT1_BOLD);
$graph->yaxis->SetFont(FONT1_BOLD);
$graph->Stroke();
}
示例8: _stats_build_graph
function _stats_build_graph($data, $labels, $filename, $stat, $width, $height, $vars)
{
if (file_exists($filename)) {
unlink($filename);
}
$data_orig = $data;
foreach ($data as $key => $val) {
if (!is_numeric($val)) {
$data[$key] = 0;
}
}
// $vars["color_tab_black"]
$bg_grey = _stats_color($vars["bg_grey"], 0);
$bg_light_blue = _stats_color($vars["bg_light_blue"], 25);
$graph = new Graph($width, $height);
$group = new PlotGroup();
$group->setSpace(2, 2);
$group->grid->setType(LINE_DASHED);
$group->grid->hideVertical(TRUE);
$group->setPadding(30, 10, 25, 20);
$graph->setBackgroundColor($bg_grey);
$graph->title->set($stat);
$graph->title->setFont(new Tuffy(10));
$plot = new BarPlot($data, 1, 1, 0);
$plot->setBarColor($bg_light_blue);
$plot->label->set($data_orig);
$plot->label->move(0, -5);
$group->add($plot);
$group->axis->bottom->setLabelText($labels);
$group->axis->bottom->hideTicks(TRUE);
$graph->add($group);
$graph->draw($filename);
}
示例9: monthchart
function monthchart($xdata, $ydata, $title = 'Line Chart')
{
// Create the graph. These two calls are always required
$graph = new Graph(600, 250, "auto", 60);
$graph->img->SetAntiAliasing(false);
$graph->SetScale("textlin");
$graph->xaxis->SetTickLabels($xdata);
$graph->xgrid->SetColor('#E3E3E3');
$graph->legend->SetFrameWeight(1);
// Setup title
$graph->title->Set($title);
foreach ($ydata as $item) {
// Create the linear plot
if (count($item['values']) != count($xdata)) {
continue;
}
$lineplot = new LinePlot($item['values'], $xdata);
$lineplot->SetColor($item['color']);
if (count($ydata) == 1) {
$lineplot->SetFillColor($item['color']);
}
// Add the plot to the graph
$graph->Add($lineplot);
$lineplot->SetLegend($item['legend']);
}
return $graph;
}
示例10: buildWordLadderGraph
/**
* 단어 목록으로 인접 리스트를 사용해서 그래프 생성
*
* @param string $word_file 단어파일
* @return object Graph 그래프객체
* @throws Exception
*/
function buildWordLadderGraph($word_file)
{
$container = array();
$graph = new Graph();
$f = fopen($word_file, "r");
if ($f) {
while (($word = fgets($f)) !== false) {
$container = setBucketContainer($container, trim($word));
}
fclose($f);
} else {
throw new Exception('파일을 읽을 수 없습니다.');
}
$bucket_keys = array_keys($container);
foreach ($bucket_keys as $bucket) {
foreach ($container[$bucket] as $word1) {
foreach ($container[$bucket] as $word2) {
if ($word1 != $word2) {
$graph->addEdge($word1, $word2);
}
}
}
}
return $graph;
}
示例11: showimg
function showimg($value, $clock, $key)
{
$datay1 = $value;
$graph = new Graph(1000, 400);
$graph->SetScale("textlin");
//设置图片外边距(左,右,上,下)
$graph->img->SetMargin(100, 20, 20, 60);
$graph->title->Set($key);
$graph->yaxis->HideZeroLabel();
$graph->yaxis->HideLine(false);
$graph->yaxis->HideTicks(false, false);
$graph->xgrid->Show();
$graph->xgrid->SetLineStyle("solid");
//x轴文字
$graph->xaxis->SetTickLabels($clock);
$graph->xaxis->SetLabelAngle(90);
//x轴颜色
$graph->xgrid->SetColor('#E3E3E3');
// Create the first line
$p1 = new LinePlot($datay1);
$graph->Add($p1);
$p1->SetColor("#6495ED");
$graph->legend->SetFrameWeight(1);
// Output line
$graph->Stroke();
}
示例12: plot
function plot($pid)
{
$this->_setValues($pid);
$graph = new Graph(600, 400);
$graph->img->SetMargin(60, 95, 40, 40);
$graph->SetShadow();
$graph->SetScale("textlog");
$colors = array("yellow", "green", "blue", "red");
srand(1);
for ($i = 0; $i < sizeof($this->_data); $i++) {
$bplot[$i] = new BarPlot($this->_data[$i]);
$color = $colors[$i];
$bplot[$i]->SetFillColor($color);
$bplot[$i]->SetLegend($this->_legend[$i]);
}
$gbplot = new GroupBarPlot($bplot);
$graph->Add($gbplot);
$graph->title->Set("# of Visited Articles per Language (log scale)");
$graph->title->SetFont(FONT2_BOLD);
$graph->xaxis->SetTickLabels($this->_years);
$graph->ygrid->Show(true, true);
$graph->xaxis->SetFont(FONT1_BOLD);
$graph->yaxis->SetFont(FONT1_BOLD);
$graph->Stroke();
}
示例13: ShowHBar
/**
* Show Horizontal Bar graph
*/
function ShowHBar(&$legend, &$value)
{
$height = 50 + count($value) * 18;
$width = 500;
// Set the basic parameters of the graph
$graph = new Graph($width, $height, 'auto');
$graph->SetScale("textlin");
$top = 30;
$bottom = 20;
$left = 100;
$right = 50;
$graph->Set90AndMargin($left, $right, $top, $bottom);
$graph->xaxis->SetTickLabels($legend);
$graph->SetFrame(false);
// Label align for X-axis
$graph->xaxis->SetLabelAlign('right', 'center', 'right');
// Label align for Y-axis
$graph->yaxis->SetLabelAlign('center', 'bottom');
// Create a bar pot
$bplot = new BarPlot($value);
$bplot->SetFillColor("orange");
$bplot->SetWidth(0.5);
// We want to display the value of each bar at the top
$graph->yaxis->scale->SetGrace(10);
$graph->yaxis->SetLabelAlign('center', 'bottom');
$graph->yaxis->SetLabelFormat('%d');
$bplot->value->Show();
$bplot->value->SetFormat('%.d votes');
// Setup color for gradient fill style
$bplot->SetFillGradient("navy", "lightsteelblue", GRAD_MIDVER);
$graph->Add($bplot);
$graph->Stroke();
}
示例14: graficarBarras
function graficarBarras()
{
require_once "jpgraph/src/jpgraph.php";
require_once "jpgraph/src/jpgraph_bar.php";
$datos = array($_GET['pos'], $_GET['neg']);
//Instancia del objeto del tipo Graph en donde como parametro
// se le pasan los valore de ancho y altura
$grafica = new Graph(400, 300);
$grafica->SetScale("textlin");
$grafica->SetBox(false);
//Nombre de las columnas
$columnas = array($_GET['lab1'], $_GET['lab2']);
$grafica->xaxis->SetTickLabels($columnas);
//Objeto del tipo BarPlot que se le enviara a la grafica y el cual
//recibe como parametros los datos a graficar
$barras = new BarPlot($datos);
$grafica->Add($barras);
//Color de los bordes
//Color de borde de las barras
$barras->SetColor("white");
//Color de relleno de las barras
$barras->SetFillColor("#4B0082");
//Ancho de las barras
$barras->SetWidth(45);
// $grafica->title->Set("Gráfica de Barras");
$grafica->title->SetFont(FF_TIMES, FS_ITALIC, 18);
$grafica->Stroke();
}
示例15: departa
function departa()
{
$this->load->library('Graph');
$data = $titu = array();
$mes = $this->uri->segment(4);
$anio = $this->uri->segment(5);
if (empty($mes) and empty($anio)) {
return;
}
$fechai = $anio . $mes . '01';
$fechaf = $anio . $mes . '31';
//8471.49.00.00
$mSQL = "SELECT f.descrip etiqueta, sum(b.importe) total\n\t\t\tFROM itscst b JOIN scst a ON a.control=b.control \n\t\t\tJOIN sinv c ON b.codigo=c.codigo\n\t\t\tJOIN grup d ON d.grupo=c.grupo\n\t\t\tJOIN line e ON d.linea=e.linea \n\t\t\tJOIN dpto f ON e.depto=f.depto \n\t\t\tWHERE a.tipo_doc IN ('FC', 'NC','NE') AND a.fecha>={$fechai} AND a.fecha<={$fechaf}\n\t\t\tGROUP BY f.depto";
//echo $mSQL;
$maxval = 0;
$query = $this->db->query($mSQL);
foreach ($query->result() as $row) {
if ($row->total > $maxval) {
$maxval = $row->total;
}
$data[] = $row->total;
$titu[] = $row->etiqueta;
}
$i = 1;
while (1) {
if ($maxval / $i <= 100) {
break;
}
$i = $i * 10;
}
$om = $i;
$i = 0;
//$om=1;
for ($i = 0; $i < count($data); $i++) {
$data[$i] = $data[$i] / $om;
}
$g = new Graph();
if ($maxval > 0) {
$g->title('COMPRAS DEL ' . $mes . '/' . $anio, '{font-size:18px; color: #d01f3c}');
$g->set_data($data);
$g->bar_glass(55, '#5E83BF', '#424581', 'Compras', 10);
$g->set_y_max(ceil($maxval / $om));
$g->y_label_steps(5);
$g->set_x_labels($titu);
$ejey = number_format($om, 0, '', ' ');
$g->set_y_legend('Compras X ' . $ejey . ' (Bs)', 14, '0x639F45');
$g->set_x_legend('Grupos ' . $mes, 14, '0x639F45');
//$g->pie(60,'#505050','#000000');
//$g->pie_values( $data, $titu );
//$g->pie_slice_colours( array('#d01f3c','#356aa0','#C79810','#5E83BF'));
$g->set_tool_tip('#key#<br>Departamento: #x_label# <br>Monto: #val# x ' . $ejey);
} else {
$g->title('NO EXISTEN VENTAS EN LA FECHA SELECCIONADA', '{font-size:18px; color: #d01f3c}');
}
$g->bg_colour = '#FFFFFF';
//$g->set_bg_image(site_url('/images/ventafon.png'), 'center', 'middle' );
echo $g->render();
$query->free_result();
}