<?php require_once '../../vendor/autoload.php'; use Amenadiel\JpGraph\Graph; use Amenadiel\JpGraph\Plot; // Data can be specified using both ordinal idex of axis as well // as the direction label $data = array(1 => array(10, 10, 13, 7), 2 => array(2, 8, 10), 4 => array(1, 12, 22)); $data2 = array(4 => array(12, 8, 2, 3), 2 => array(5, 4, 4, 5, 2)); // Create a new small windrose graph $graph = new Graph\WindroseGraph(660, 400); $graph->SetShadow(); $graph->title->Set('Two windrose plots in one graph'); $graph->title->SetFont(FF_ARIAL, FS_BOLD, 14); $graph->subtitle->Set('(Using Box() for each plot)'); $wp = new Plot\WindrosePlot($data); $wp->SetType(WINDROSE_TYPE8); $wp->SetSize(0.42); $wp->SetPos(0.25, 0.55); $wp->SetBox(); $wp2 = new Plot\WindrosePlot($data2); $wp2->SetType(WINDROSE_TYPE16); $wp2->SetSize(0.42); $wp2->SetPos(0.74, 0.55); $wp2->SetBox(); $wp2->SetRangeColors(array('green', 'yellow', 'red', 'brown')); $graph->Add($wp); $graph->Add($wp2); $graph->Stroke();
$graph->title->Set('Windrose example 6'); $graph->title->SetFont(FF_VERDANA, FS_BOLD, 12); $graph->title->SetColor('navy'); $graph->subtitle->Set('(Free type plot)'); $graph->subtitle->SetFont(FF_VERDANA, FS_ITALIC, 10); $graph->subtitle->SetColor('navy'); // Create the windrose plot. $wp = new Plot\WindrosePlot($data); // Setup a free plot $wp->SetType(WINDROSE_TYPEFREE); // Setup labels $wp->SetLabels($labels); $wp->SetLabelPosition(LBLPOSITION_CENTER); $wp->SetLabelMargin(30); // Setup the colors for the ranges $wp->SetRangeColors($rangeColors); // Adjust the font and font color for scale labels $wp->scale->SetFont(FF_ARIAL, FS_NORMAL, 9); // Set the diameter and position for plot $wp->SetSize(230); $wp->SetZCircleSize(30); // Adjust the font and font color for compass directions $wp->SetFont(FF_ARIAL, FS_NORMAL, 10); $wp->SetFontColor('darkgreen'); // Adjust grid colors $wp->SetGridColor('darkgreen@0.7', 'blue'); // Add (m/s) text to legend $wp->legend->SetText('(m/s)'); // Display legend values with no decimals $wp->legend->SetFormat('%d'); // Add plot to graph and send back to the client