use Amenadiel\JpGraph\Plot; $l1datay = array(11, 9, 2, 4, 3, 13, 17); $l2datay = array(23, 12, 5, 19, 17, 10, 15); $datax = array("Jan", "Feb", "Mar", "Apr", "May"); // Create the graph. $graph = new Graph\Graph(400, 200); $graph->SetScale("textlin"); $graph->img->SetMargin(40, 130, 20, 40); $graph->SetShadow(); // Create the linear error plot $l1plot = new Plot\LinePlot($l1datay); $l1plot->SetColor("red"); $l1plot->SetWeight(2); $l1plot->SetLegend("Prediction"); // Create the bar plot $bplot = new Plot\BarPlot($l2datay); $bplot->SetFillColor("orange"); $bplot->SetLegend("Result"); // Add the plots to t'he graph $graph->Add($l1plot); $graph->Add($bplot); $graph->title->Set("Adding a line plot to a bar graph v1"); $graph->xaxis->title->Set("X-title"); $graph->yaxis->title->Set("Y-title"); $graph->title->SetFont(FF_FONT1, FS_BOLD); $graph->yaxis->title->SetFont(FF_FONT1, FS_BOLD); $graph->xaxis->title->SetFont(FF_FONT1, FS_BOLD); //$graph->xaxis->SetTickLabels($datax); //$graph->xaxis->SetTextTickInterval(2); // Display the graph $graph->Stroke();
use Amenadiel\JpGraph\Plot; $data1y = array(12, 8, 19, 3, 10, 5); $data2y = array(8, 2, 12, 7, 14, 4); // Create the graph. These two calls are always required $graph = new Graph\Graph(310, 200, 'auto'); $graph->SetScale("textlin"); $graph->img->SetMargin(40, 30, 20, 40); $graph->SetShadow(); // Create the bar plots $b1plot = new Plot\BarPlot($data1y); $b1plot->SetFillColor("orange"); $targ = array("bar_clsmex2.php#1", "bar_clsmex2.php#2", "bar_clsmex2.php#3", "bar_clsmex2.php#4", "bar_clsmex2.php#5", "bar_clsmex2.php#6"); $alts = array("val=%d", "val=%d", "val=%d", "val=%d", "val=%d", "val=%d"); $b1plot->SetCSIMTargets($targ, $alts); $b2plot = new Plot\BarPlot($data2y); $b2plot->SetFillColor("blue"); $targ = array("bar_clsmex2.php#7", "bar_clsmex2.php#8", "bar_clsmex2.php#9", "bar_clsmex2.php#10", "bar_clsmex2.php#11", "bar_clsmex2.php#12"); $alts = array("val=%d", "val=%d", "val=%d", "val=%d", "val=%d", "val=%d"); $b2plot->SetCSIMTargets($targ, $alts); // Create the grouped bar plot $abplot = new Plot\AccBarPlot(array($b1plot, $b2plot)); $abplot->SetShadow(); $abplot->value->Show(); // ...and add it to the graPH $graph->Add($abplot); $graph->title->Set("Image map barex2"); $graph->xaxis->title->Set("X-title"); $graph->yaxis->title->Set("Y-title"); $graph->title->SetFont(FF_FONT1, FS_BOLD); $graph->yaxis->title->SetFont(FF_FONT1, FS_BOLD); $graph->xaxis->title->SetFont(FF_FONT1, FS_BOLD);
<?php // content="text/plain; charset=utf-8" require_once '../../vendor/autoload.php'; use Amenadiel\JpGraph\Graph; use Amenadiel\JpGraph\Plot; $datay = array(10, 29, 3, 6); // Create the graph. $graph = new Graph\Graph(200, 200); $graph->SetScale('textlin'); $graph->SetMargin(25, 10, 20, 25); $graph->SetBox(true); // Add 10% grace ("space") at top and botton of Y-scale. $graph->yscale->SetGrace(10); // Create a bar pot $bplot = new Plot\BarPlot($datay); $bplot->SetFillColor("lightblue"); $graph->ygrid->Show(false); // .. and add the plot to the graph $graph->Add($bplot); // Add band $band = new Plot\PlotBand(HORIZONTAL, BAND_3DPLANE, 15, 35, 'khaki4'); $band->SetDensity(40); $band->ShowFrame(true); $graph->AddBand($band); // Set title $graph->title->SetFont(FF_ARIAL, FS_BOLD, 10); $graph->title->SetColor('darkred'); $graph->title->Set('BAND_3DPLANE, Density=40'); $graph->Stroke();
$data1y = array(47, 80, 40, 116); $data2y = array(61, 30, 82, 105); $data3y = array(115, 50, 70, 93); // Create the graph. These two calls are always required $graph = new Graph\Graph(350, 200, 'auto'); $graph->SetScale("textlin"); $theme_class = new UniversalTheme(); $graph->SetTheme($theme_class); $graph->yaxis->SetTickPositions(array(0, 30, 60, 90, 120, 150), array(15, 45, 75, 105, 135)); $graph->SetBox(false); $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 Plot\BarPlot($data1y); $b2plot = new Plot\BarPlot($data2y); $b3plot = new Plot\BarPlot($data3y); // Create the grouped bar plot $gbplot = new Plot\GroupBarPlot(array($b1plot, $b2plot, $b3plot)); // ...and add it to the graPH $graph->Add($gbplot); $b1plot->SetColor("white"); $b1plot->SetFillColor("#cc1111"); $b2plot->SetColor("white"); $b2plot->SetFillColor("#11cccc"); $b3plot->SetColor("white"); $b3plot->SetFillColor("#1111cc"); $graph->title->Set("Bar Plots"); // Display the graph $graph->Stroke();
$graph->Add($gbplot); $graph->AddY2($lplot); $b1plot->SetColor("#0000CD"); $b1plot->SetFillColor("#0000CD"); $b1plot->SetLegend("Cliants"); $b2plot->SetColor("#B0C4DE"); $b2plot->SetFillColor("#B0C4DE"); $b2plot->SetLegend("Machines"); $b3plot->SetColor("#8B008B"); $b3plot->SetFillColor("#8B008B"); $b3plot->SetLegend("First Track"); $b4plot->SetColor("#DA70D6"); $b4plot->SetFillColor("#DA70D6"); $b4plot->SetLegend("All"); $b5plot->SetColor("#9370DB"); $b5plot->SetFillColor("#9370DB"); $b5plot->SetLegend("Single Only"); $lplot->SetBarCenter(); $lplot->SetColor("yellow"); $lplot->SetLegend("Houses"); $lplot->mark->SetType(MARK_X, '', 1.0); $lplot->mark->SetWeight(2); $lplot->mark->SetWidth(8); $lplot->mark->setColor("yellow"); $lplot->mark->setFillColor("yellow"); $graph->legend->SetFrameWeight(1); $graph->legend->SetColumns(6); $graph->legend->SetColor('#4E4E4E', '#00A78A'); $band = new Plot\PlotBand(VERTICAL, BAND_RDIAG, 11, "max", 'khaki4'); $band->ShowFrame(true); $band->SetOrder(DEPTH_BACK);
$graph->xaxis->SetColor('darkblue', 'black'); // Setup "hidden" y-axis by given it the same color // as the background (this could also be done by setting the weight // to zero) $graph->yaxis->SetColor('lightblue', 'darkblue'); $graph->ygrid->SetColor('white'); // Setup graph title ands fonts $graph->title->Set('Using grace = 10%'); $graph->title->SetFont(FF_FONT2, FS_BOLD); $graph->xaxis->SetTitle('Year 2002', 'center'); $graph->xaxis->SetTitleMargin(10); $graph->xaxis->title->SetFont(FF_FONT2, FS_BOLD); // Add some grace to the top so that the scale doesn't // end exactly at the max value. $graph->yaxis->scale->SetGrace(10); // Create a bar pot $bplot = new Plot\BarPlot($datay); $bplot->SetFillColor('darkblue'); $bplot->SetColor('darkblue'); $bplot->SetWidth(0.5); $bplot->SetShadow('darkgray'); // Setup the values that are displayed on top of each bar // Must use TTF fonts if we want text at an arbitrary angle $bplot->value->Show(); $bplot->value->SetFont(FF_ARIAL, FS_NORMAL, 8); $bplot->value->SetFormat('$%d'); $bplot->value->SetColor('darkred'); $bplot->value->SetAngle(45); $graph->Add($bplot); // Finally stroke the graph $graph->Stroke();
$graph->yaxis->SetTickSide(SIDE_LEFT); $graph->y2axis->SetTickSide(SIDE_RIGHT); $graph->y2axis->SetColor('black', 'blue'); $graph->y2axis->SetLabelFormat('%3d.0%%'); // Create a bar pot $bplot = new Plot\BarPlot($data_freq); // Create targets and alt texts for the image maps. One for each bar // (In this example this is just "dummy" targets) $targ = array("#1", "#2", "#3", "#4", "#5", "#6", "#7"); $alts = array("val=%d", "val=%d", "val=%d", "val=%d", "val=%d", "val=%d", "val=%d"); $bplot->SetCSIMTargets($targ, $alts); // Create accumulative graph $lplot = new Plot\LinePlot($data_accfreq); // We want the line plot data point in the middle of the bars $lplot->SetBarCenter(); // Use transperancy $lplot->SetFillColor('lightblue@0.6'); $lplot->SetColor('blue@0.6'); //$lplot->SetColor('blue'); $graph->AddY2($lplot); // Setup the bars $bplot->SetFillColor("orange@0.2"); $bplot->SetValuePos('center'); $bplot->value->SetFormat("%d"); $bplot->value->SetFont(FF_ARIAL, FS_NORMAL, 9); $bplot->value->Show(); // Add it to the graph $graph->Add($bplot); // Send back the HTML page which will call this script again // to retrieve the image. $graph->StrokeCSIM();
// Setup title $graph->title->Set('Horizontal bar graph ex 1'); $graph->title->SetFont(FF_VERDANA, FS_BOLD, 14); // Setup X-axis $graph->xaxis->SetTickLabels($datax); $graph->xaxis->SetFont(FF_VERDANA, FS_NORMAL, 12); // 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(20); // We don't want to display Y-axis $graph->yaxis->Hide(); // Now create a bar pot $bplot = new Plot\BarPlot($datay); $bplot->SetFillColor('orange'); $bplot->SetShadow(); //You can change the width of the bars if you like //$bplot->SetWidth(0.5); // We want to display the value of each bar at the top $bplot->value->Show(); $bplot->value->SetFont(FF_ARIAL, FS_BOLD, 12); $bplot->value->SetAlign('left', 'center'); $bplot->value->SetColor('black', 'darkred'); $bplot->value->SetFormat('%.1f mkr'); // Add the bar to the graph $graph->Add($bplot); // .. and stroke the graph $graph->Stroke();
<?php // content="text/plain; charset=utf-8" require_once '../../vendor/autoload.php'; use Amenadiel\JpGraph\Graph; use Amenadiel\JpGraph\Plot; require_once 'jpgraph/jpgraph_line.php'; $datay = array(2, 3, 5, 8.5, 11.5, 6, 3); // Create the graph. $graph = new Graph\Graph(350, 300); $graph->SetScale("textlin"); $graph->SetMarginColor('navy:1.9'); $graph->SetBox(); $graph->title->Set('Bar Pattern'); $graph->title->SetFont(FF_ARIAL, FS_BOLD, 20); $graph->SetTitleBackground('lightblue:1.3', TITLEBKG_STYLE2, TITLEBKG_FRAME_BEVEL); $graph->SetTitleBackgroundFillStyle(TITLEBKG_FILLSTYLE_HSTRIPED, 'lightblue', 'blue'); // Create a bar pot $bplot = new Plot\BarPlot($datay); $bplot->SetFillColor('darkorange'); $bplot->SetWidth(0.6); $bplot->SetPattern(PATTERN_CROSS1, 'navy'); $graph->Add($bplot); $graph->Stroke();
$graph->subtitle->Set("100 data points, X-Scale: 'text'"); // Use built in font (don't need TTF support) $graph->title->SetFont(FF_FONT1, FS_BOLD); // Make the margin around the plot a little bit bigger then default $graph->img->SetMargin(40, 140, 40, 80); // Slightly adjust the legend from it's default position in the // top right corner to middle right side $graph->legend->Pos(0.03, 0.5, "right", "center"); // Display every 6:th tickmark $graph->xaxis->SetTextTickInterval(6); // Label every 2:nd tick mark $graph->xaxis->SetTextLabelInterval(2); // Setup the labels $graph->xaxis->SetTickLabels($databarx); $graph->xaxis->SetLabelAngle(90); // Create a red line plot $p1 = new Plot\LinePlot($datay); $p1->SetColor("red"); $p1->SetLegend("Pressure"); // Create the bar plot $b1 = new Plot\BarPlot($databary); $b1->SetLegend("Temperature"); $b1->SetFillColor("orange"); $b1->SetAbsWidth(8); // Drop shadow on bars adjust the default values a little bit $b1->SetShadow("steelblue", 2, 2); // The order the plots are added determines who's ontop $graph->Add($p1); $graph->AddY2($b1); // Finally output the image $graph->Stroke();
$graph->xaxis->SetFont(FF_FONT1, FS_BOLD); $graph->xaxis->SetColor('white'); $graph->yaxis->SetFont(FF_FONT1, FS_BOLD); $graph->yaxis->SetColor('white'); //$graph->ygrid->Show(false); $graph->ygrid->SetColor('white@0.5'); // Setup graph title $graph->title->Set('Using alpha blending with a background'); // Some extra margin (from the top) $graph->title->SetMargin(3); $graph->title->SetFont(FF_ARIAL, FS_NORMAL, 12); // Create the three var series we will combine $bplot1 = new Plot\BarPlot($datay1); $bplot2 = new Plot\BarPlot($datay2); $bplot3 = new Plot\BarPlot($datay3); // Setup the colors with 40% transparency (alpha channel) $bplot1->SetFillColor('orange@0.4'); $bplot2->SetFillColor('brown@0.4'); $bplot3->SetFillColor('darkgreen@0.4'); // Setup legends $bplot1->SetLegend('Label 1'); $bplot2->SetLegend('Label 2'); $bplot3->SetLegend('Label 3'); // Setup each bar with a shadow of 50% transparency $bplot1->SetShadow('black@0.4'); $bplot2->SetShadow('black@0.4'); $bplot3->SetShadow('black@0.4'); $gbarplot = new Plot\GroupBarPlot(array($bplot1, $bplot2, $bplot3)); $gbarplot->SetWidth(0.6); $graph->Add($gbarplot); $graph->Stroke();
$datazero = array(0, 0, 0, 0); // Create the graph. $graph = new Graph\Graph(450, 200); $graph->title->Set('Example with 2 scale bars'); // Setup Y and Y2 scales with some "grace" $graph->SetScale("textlin"); $graph->SetY2Scale("lin"); $graph->yaxis->scale->SetGrace(30); $graph->y2axis->scale->SetGrace(30); //$graph->ygrid->Show(true,true); $graph->ygrid->SetColor('gray', 'lightgray@0.5'); // Setup graph colors $graph->SetMarginColor('white'); $graph->y2axis->SetColor('darkred'); // Create the "dummy" 0 bplot $bplotzero = new Plot\BarPlot($datazero); // Create the "Y" axis group $ybplot1 = new Plot\BarPlot($datay); $ybplot1->value->Show(); $ybplot = new Plot\GroupBarPlot(array($ybplot1, $bplotzero)); // Create the "Y2" axis group $ybplot2 = new Plot\BarPlot($datay2); $ybplot2->value->Show(); $ybplot2->value->SetColor('darkred'); $ybplot2->SetFillColor('darkred'); $y2bplot = new Plot\GroupBarPlot(array($bplotzero, $ybplot2)); // Add the grouped bar plots to the graph $graph->Add($ybplot); $graph->AddY2($y2bplot); // .. and finally stroke the image back to browser $graph->Stroke();
require_once '../../vendor/autoload.php'; use Amenadiel\JpGraph\Graph; use Amenadiel\JpGraph\Plot; $datay1 = array(35, 160, 0, 0, 0, 0); $datay2 = array(35, 190, 190, 190, 190, 190); $datay3 = array(20, 70, 70, 140, 230, 260); $graph = new Graph\Graph(450, 200, 'auto'); $graph->SetScale("textlin"); $graph->SetShadow(); $graph->img->SetMargin(40, 30, 40, 40); $graph->xaxis->SetTickLabels($gDateLocale->GetShortMonth()); $graph->xaxis->title->Set('Year 2002'); $graph->xaxis->title->SetFont(FF_FONT1, FS_BOLD); $graph->title->Set('Group bar plot'); $graph->title->SetFont(FF_FONT1, FS_BOLD); $bplot1 = new Plot\BarPlot($datay1); $bplot2 = new Plot\BarPlot($datay2); $bplot3 = new Plot\BarPlot($datay3); $bplot1->SetFillColor("orange"); $bplot2->SetFillColor("brown"); $bplot3->SetFillColor("darkgreen"); $bplot1->SetShadow(); $bplot2->SetShadow(); $bplot3->SetShadow(); $bplot1->SetShadow(); $bplot2->SetShadow(); $bplot3->SetShadow(); $gbarplot = new Plot\GroupBarPlot(array($bplot1, $bplot2, $bplot3)); $gbarplot->SetWidth(0.6); $graph->Add($gbarplot); $graph->Stroke();