<?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();
Example #2
0
$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
$graph->Add($wp);
$graph->Stroke();
Example #3
0
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
$data2 = array('vsv' => array(12, 8, 2, 3), 6 => array(5, 4, 4, 5, 4));
$se_CompassLbl = array('O', 'ONO', 'NO', 'NNO', 'N', 'NNV', 'NV', 'VNV', 'V', 'VSV', 'SV', 'SSV', 'S', 'SSO', 'SO', 'OSO');
// Create a new small windrose graph
$graph = new Graph\WindroseGraph(400, 400);
$graph->SetMargin(25, 25, 25, 25);
$graph->SetFrame();
$graph->title->Set('Example with background flag');
#$graph->title->SetFont(FF_VERA,FS_BOLD,14);
//$graph->SetBackgroundImage('bkgimg.jpg',BGIMG_FILLFRAME);
//$graph->SetBackgroundImageMix(90);
$graph->SetBackgroundCFlag(28, BGIMG_FILLFRAME, 15);
$wp2 = new Plot\WindrosePlot($data2);
$wp2->SetType(WINDROSE_TYPE16);
$wp2->SetSize(0.55);
$wp2->SetPos(0.5, 0.5);
$wp2->SetAntiAlias(false);
$wp2->SetFont(FF_ARIAL, FS_BOLD, 10);
$wp2->SetFontColor('black');
$wp2->SetCompassLabels($se_CompassLbl);
$wp2->legend->SetMargin(20, 5);
$wp2->scale->SetZFont(FF_ARIAL, FS_NORMAL, 8);
$wp2->scale->SetFont(FF_ARIAL, FS_NORMAL, 9);
$wp2->scale->SetLabelFillColor('white', 'white');
$wp2->SetRangeColors(array('green', 'yellow', 'red', 'brown'));
$graph->Add($wp2);
$graph->Stroke();
Example #4
0
use Amenadiel\JpGraph\Graph;
use Amenadiel\JpGraph\Plot;
// Data can be specified using both ordinal index of the axis
// as well as the direction label
$data = array(0 => array(1, 1, 2.5, 4), 1 => array(3, 4, 1, 4), 3 => array(2, 7, 4, 4, 3), 5 => array(2, 7, 1, 2));
// First create a new windrose graph with a title
$graph = new Graph\WindroseGraph(400, 400);
// Setup title
$graph->title->Set('Windrose example 2');
$graph->title->SetFont(FF_VERDANA, FS_BOLD, 12);
$graph->title->SetColor('navy');
// Create the windrose plot.
$wp = new Plot\WindrosePlot($data);
// Make it have 8 compass direction
$wp->SetType(WINDROSE_TYPE8);
// Setup the weight of the laegs for the different ranges
$weights = array_fill(0, 8, 10);
$wp->SetRangeWeights($weights);
// Adjust the font and font color for scale labels
$wp->scale->SetFont(FF_TIMES, FS_NORMAL, 11);
$wp->scale->SetFontColor('navy');
// Set the diametr for the plot to 160 pixels
$wp->SetSize(200);
// Set the size of the innermost center circle to 30% of the plot size
$wp->SetZCircleSize(0.2);
// Adjust the font and font color for compass directions
$wp->SetFont(FF_ARIAL, FS_NORMAL, 12);
$wp->SetFontColor('darkgreen');
// Add and send back the graph to the client
$graph->Add($wp);
$graph->Stroke();
Example #5
0
use Amenadiel\JpGraph\Graph;
use Amenadiel\JpGraph\Plot;
// Data can be specified using both ordinal index of the axis
// as well as the direction label
$data = array(0 => array(1, 1, 6, 4), 1 => array(3, 8, 1, 4), 2 => array(2, 7, 4, 4, 3), 3 => array(2, 7, 1, 2));
// First create a new windrose graph with a title
$graph = new Graph\WindroseGraph(400, 400);
// Setup title
$graph->title->Set('Windrose example 2');
$graph->title->SetFont(FF_VERDANA, FS_BOLD, 12);
$graph->title->SetColor('navy');
// Create the windrose plot.
$wp = new Plot\WindrosePlot($data);
// Make it have 8 compass direction
$wp->SetType(WINDROSE_TYPE4);
// Setup the weight of the laegs for the different ranges
$weights = array_fill(0, 8, 10);
$wp->SetRangeWeights($weights);
// Adjust the font and font color for scale labels
$wp->scale->SetFont(FF_TIMES, FS_NORMAL, 11);
$wp->scale->SetFontColor('navy');
// Set the diametr for the plot to 160 pixels
$wp->SetSize(160);
// Set the size of the innermost center circle to 30% of the plot size
$wp->SetZCircleSize(0.2);
// Adjust the font and font color for compass directions
$wp->SetFont(FF_ARIAL, FS_NORMAL, 12);
$wp->SetFontColor('darkgreen');
// Add and send back to browser
$graph->Add($wp);
$graph->Stroke();
Example #6
0
// Data can be specified using both ordinal index of the axis
// as well as the direction label
$data = array(0 => array(1, 1, 2.5, 4), 1 => array(3, 4, 1, 4), 3 => array(2, 7, 4, 4, 3), 5 => array(2, 7, 1, 2));
// First create a new windrose graph with a title
$graph = new Graph\WindroseGraph(400, 400);
// Setup title
$graph->title->Set('Windrose example 4');
$graph->title->SetFont(FF_VERDANA, FS_BOLD, 12);
$graph->title->SetColor('navy');
// Create the windrose plot.
$wp = new Plot\WindrosePlot($data);
// Adjust the font and font color for scale labels
$wp->scale->SetFont(FF_TIMES, FS_NORMAL, 11);
$wp->scale->SetFontColor('navy');
// Set the diameter and position for plot
$wp->SetSize(190);
// Set the size of the innermost center circle to 40% of the plot size
// Note that we can have the automatic "Zero" sum appear in our custom text
$wp->SetZCircleSize(0.38);
$wp->scale->SetZeroLabel("Station 12\n(Calm %d%%)");
// Adjust color and font for center circle text
$wp->scale->SetZFont(FF_ARIAL, FS_NORMAL, 9);
$wp->scale->SetZFontColor('darkgreen');
// Adjust the font and font color for compass directions
$wp->SetFont(FF_ARIAL, FS_NORMAL, 10);
$wp->SetFontColor('darkgreen');
// Adjust the margin to the compass directions
$wp->SetLabelMargin(50);
// Adjust grid colors
$wp->SetGridColor('silver', 'blue');
// Add (m/s) text to legend