debug("starting pipeline chart"); // Size of graph $width=300; $height=400; // Set the basic parameters of the graph $graph = new Graph($width,$height,'auto'); $graph->SetScale("textlin"); //$graph->img->SetImgFormat("jpeg") // No frame around the image $graph->SetFrame(false); // Rotate graph 90 degrees and set margin $top = 20; $bottom = 60; $left = 130; $right = 20; $graph->Set90AndMargin($left,$right,$top,$bottom); // Set white margin color $graph->SetMarginColor('white'); // Use a box around the plot area $graph->SetBox(); // Use a gradient to fill the plot area $graph->SetBackgroundGradient('white','lightred',GRAD_HOR,BGRAD_PLOT); // Setup title $graph->title->Set($title); $graph->title->SetFont(FF_FONT1,FS_BOLD,11); // Setup X-axis $graph->xaxis->SetTickLabels($datax); $graph->xaxis->SetFont(FF_FONT1,FS_NORMAL,8); // Some extra margin looks nicer $graph->xaxis->SetLabelMargin(10); // Label align for X-axis $graph->xaxis->SetLabelAlign('right','center'); // Add some grace to y-axis so the bars doesn't go // all the way to the end of the plot area $graph->yaxis->scale->SetGrace(10); // Setup the Y-axis to be displayed in the bottom of the // graph. We also finetune the exact layout of the title, // ticks and labels to make them look nice. $graph->yaxis->SetPos('max'); // First make the labels look right $graph->yaxis->SetLabelAlign('center','top'); $graph->yaxis->SetLabelFormat('$%d'); $graph->yaxis->SetLabelSide(SIDE_RIGHT); // The fix the tick marks $graph->yaxis->SetTickSide(SIDE_LEFT); // Finally setup the title $graph->yaxis->SetTitleSide(SIDE_RIGHT); $graph->yaxis->SetTitleMargin(35); // To align the title to the right use : $graph->yaxis->SetTitle($subtitle); $graph->yaxis->title->Align('right'); $graph->yaxis->title->SetFont(FF_FONT1,FS_NORMAL,8); $graph->yaxis->title->SetAngle(0); $graph->yaxis->SetFont(FF_FONT1,FS_NORMAL, 8); // Now create a bar pot $bplot = new BarPlot($datay); $bplot->SetShadow(); //You can change the width of the bars if you like //$bplot->SetWidth(0.5); // Set gradient fill for bars $bplot->SetFillGradient('darkred','yellow',GRAD_HOR); // We want to display the value of each bar at the top $bplot->value->Show(); $bplot->value->SetFont(FF_FONT1,FS_NORMAL,8); //$bplot->value->SetAlign('left','center'); $bplot->value->SetColor("white"); $bplot->value->SetFormat('$%d'); $bplot->SetValuePos('max'); // Add the bar to the graph $graph->Add($bplot); // .. and stroke the graph $graph->Stroke(); } /** * Creates pie chart image of cases by lead_source. * param $datax- the sales stage data to display in the x-axis * param $datay- the sum of case amounts for each case in each sales stage * to display in the y-axis */ function pipeline_by_lead_source ($legends=array('foo', 'bar'), $data=array(1,2), $title='the title', $subtitle='the subtitle') { include ("jpgraph/src/jpgraph.php"); include ("jpgraph/src/jpgraph_pie.php"); include ("jpgraph/src/jpgraph_pie3d.php"); // Create the Pie Graph. $graph = new PieGraph(440,200,"auto"); $graph->SetShadow(); // Setup title $graph->title->Set($title); $graph->title->SetFont(FF_FONT1,FS_BOLD,11); // No frame around the image $graph->SetFrame(false); $graph->legend->Pos(0.03,0.13); $graph->legend->SetFont(FF_FONT0,FS_NORMAL,12); $graph->footer->left->Set($subtitle); // Create pie plot $p1 = new PiePlot3d($data); $p1->SetSize(0.40); $p1->SetTheme("sand"); $p1->SetCenter(0.30); $p1->SetAngle(30); $p1->value->SetFont(FF_FONT1,FS_NORMAL,12); $p1->SetLegends($legends); $p1->SetLabelType(PIE_VALUE_ABS); $p1->value->SetFormat('$%d'); $graph->Add($p1); $graph->Stroke(); } } ?>