Example #1
0
    foreach ($row as $key => $blob) {
        $data = unpack("f*", $blob);
        foreach ($data as $id => $value) {
            //echo "\r\n";
            //print_r($id); echo "\r\n";
            //print_r($value);
            array_push($output[$id - 1], $value);
            #$output = array_fill($id, 1, array_push(
        }
    }
}
//print_r($output);
// Some (random) matrix
$data = array(array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10), array(10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0), array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10), array(10, 9, 8, 17, 6, 5, 4, 3, 2, 1, 0), array(0, 1, 2, 3, 4, 4, 9, 7, 8, 9, 10), array(8, 1, 2, 3, 4, 8, 3, 7, 8, 9, 10), array(10, 3, 5, 7, 6, 5, 4, 3, 12, 1, 0), array(10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0));
//print_r($data);
// Setup a bsic matrix graph and title
$graph = new MatrixGraph(1000, 600);
$graph->title->Set('Basic matrix example');
$graph->title->SetFont(FF_ARIAL, FS_BOLD, 14);
// Create a matrix plot using all default values
$mp = new MatrixPlot($output);
$mindataval = -2;
// The minimum data value
$maxdataval = 2;
// The maximum data value
$contrast = 0;
// Reduce the contrast by 50%
$adj = ($maxdataval - $mindataval + 1) * $contrast / 2;
$mp->colormap->SetRange($mindataval + $adj, $maxdataval - $adj);
$graph->Add($mp);
$graph->Stroke('./test.png');
Example #2
0
<?php

require_once 'jpgraph/jpgraph.php';
require_once 'jpgraph/jpgraph_matrix.php';
require_once 'jpgraph/jpgraph_iconplot.php';
$data = array(array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10), array(10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0), array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10), array(10, 9, 8, 17, 6, 5, 4, 3, 2, 1, 0), array(0, 1, 2, 3, 4, 4, 9, 7, 8, 9, 10), array(8, 1, 2, 3, 4, 8, 3, 7, 8, 9, 10), array(10, 3, 5, 7, 6, 5, 4, 3, 12, 1, 0), array(10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0));
// Do the meshinterpolation once for the data
doMeshInterpolate($data, 4);
$r = count($data);
$c = count($data[0]);
$width = 400;
$height = 400;
$graph = new MatrixGraph($width, $height);
$graph->title->Set('Adding a background image');
$graph->title->SetFont(FF_ARIAL, FS_BOLD, 14);
// Add a stretched background image
$graph->SetBackgroundImage('ironrod.jpg', BGIMG_FILLFRAME);
$graph->SetBackgroundImageMix(50);
$mp = new MatrixPlot($data, 1);
$mp->SetSize(0.6);
$mp->SetCenterPos(0.5, 0.5);
$mp->SetLegendLayout(1);
$graph->Add($mp);
$graph->Stroke();
Example #3
0
require_once 'jpgraph/jpgraph.php';
require_once 'jpgraph/jpgraph_matrix.php';
require_once 'jpgraph/jpgraph_iconplot.php';
$data = array(array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10), array(10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0), array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10), array(10, 9, 8, 17, 6, 5, 4, 3, 2, 1, 0), array(0, 1, 2, 3, 4, 4, 9, 7, 8, 9, 10), array(8, 1, 2, 3, 4, 8, 3, 7, 8, 9, 10), array(10, 3, 5, 7, 6, 5, 4, 3, 12, 1, 0), array(10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0));
// Interpolate the data a factor of 4 to get some mroe
// data points
doMeshInterpolate($data, 4);
// Setup a timer
$timer = new Util\JpgTimer();
$timer->Push();
//--------------------------------------------------------------
// Setup a basic matrix graph
//--------------------------------------------------------------
$width = 740;
$height = 500;
$graph = new MatrixGraph($width, $height);
$graph->SetMargin(1, 2, 70, 1);
$graph->SetColor('white');
$graph->SetMarginColor('#fafafa');
$graph->title->Set('Intro matrix graph');
$graph->title->SetFont(FF_ARIAL, FS_BOLD, 14);
// Setup the background image
$graph->SetBackgroundImage('fireplace.jpg', BGIMG_FILLPLOT);
$graph->SetBackgroundImageMix(50);
// Setup the timer in the right footer
$graph->footer->SetTimer($timer);
$graph->footer->right->SetColor('white');
//--------------------------------------------------------------
// Create the 2 matrix plots
//--------------------------------------------------------------
$mp = array();
Example #4
0
<?php

// content="text/plain; charset=utf-8"
require_once 'jpgraph/jpgraph.php';
require_once 'jpgraph/jpgraph_matrix.php';
$data = array(array(0, null, 2, 3, 4, 5, 6, 7, 8, 9, 10, 8, 6, 4, 2), array(10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, 8, 5, 9, 2), array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 2, 4, 5, 7), array(10, 9, 8, 17, 6, 5, 4, 3, 2, 1, 0, 8, 6, 4, 2), array(0, 1, 2, 3, 4, 4, 9, 7, 8, 9, 10, 3, 2, 7, 2), array(8, 1, 2, 3, 4, 8, 3, 7, 8, 9, 10, 5, 3, 9, 1), array(10, 3, 5, 7, 6, 5, 4, 3, 12, 1, 0, 6, 5, 10, 2), array(10, 9, 8, 7, 6, 5, 4, 3, 2, 1, NULL, 8, 6, 4, 2));
for ($i = 0; $i < count($data[0]); ++$i) {
    $xlabels[$i] = sprintf('xlabel: %02d', $i);
}
for ($i = 0; $i < count($data); ++$i) {
    $ylabels[$i] = sprintf('ylabel: %02d', $i);
}
// Setup a nasic matrix graph
$graph = new MatrixGraph(400, 250);
$graph->SetMarginColor('white');
$graph->title->Set('Adding labels on the edges');
$graph->title->SetFont(FF_ARIAL, FS_BOLD, 14);
// Create one matrix plot
$mp = new MatrixPlot($data, 1);
$mp->SetModuleSize(13, 15);
$mp->SetCenterPos(0.35, 0.45);
$mp->colormap->SetNullColor('gray');
// Setup column lablels
$mp->collabel->Set($xlabels);
$mp->collabel->SetSide('bottom');
$mp->collabel->SetFont(FF_ARIAL, FS_NORMAL, 8);
$mp->collabel->SetFontColor('darkgray');
// Setup row lablels
$mp->rowlabel->Set($ylabels);
$mp->rowlabel->SetSide('right');
$mp->rowlabel->SetFont(FF_ARIAL, FS_NORMAL, 8);
Example #5
0
<?php

require_once 'jpgraph/jpgraph.php';
require_once 'jpgraph/jpgraph_matrix.php';
$data = array(array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10), array(10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0), array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10), array(10, 9, 8, 17, 6, 5, 4, 3, 2, 1, 0), array(0, 1, 2, 3, 4, 4, 9, 7, 8, 9, 10), array(8, 1, 2, 3, 4, 8, 3, 7, 8, 9, 10), array(10, 3, 5, 7, 6, 5, 4, 3, 12, 1, 0), array(10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0));
doMeshInterpolate($data, 4);
$graph = new MatrixGraph(850, 580);
$graph->title->Set('Matrix layout example');
$graph->title->SetFont(FF_ARIAL, FS_BOLD, 14);
$mp = array();
$n = 5;
for ($i = 0; $i < $n; ++$i) {
    $mp[$i] = new MatrixPlot($data);
    $mp[$i]->colormap->SetMap($i);
    if ($i < 2) {
        $mp[$i]->SetSize(0.35);
    } else {
        $mp[$i]->SetSize(0.21);
    }
    // We need to make the legend a bit smaller since by
    // defalt has a  ~45% height
    $mp[$i]->legend->SetModuleSize(15, 2);
}
$hor1 = new LayoutHor(array($mp[0], $mp[1]));
$hor2 = new LayoutHor(array($mp[2], $mp[3], $mp[4]));
$vert = new LayoutVert(array($hor1, $hor2));
$vert->SetCenterPos(0.45, 0.5);
$graph->Add($vert);
$graph->Stroke();
Example #6
0
// content="text/plain; charset=utf-8"
require_once 'jpgraph/jpgraph.php';
require_once 'jpgraph/jpgraph_matrix.php';
require_once 'jpgraph/jpgraph_plotline.php';
$data = array(array(0, null, 2, 3, 4, 5, 6, 7, 8, 9, 10, 8, 6, 4, 2), array(10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, 8, 5, 9, 2), array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 2, 4, 5, 7), array(10, 9, 8, 17, 6, 5, 4, 3, 2, 1, 0, 8, 6, 4, 2), array(0, 1, 2, 3, 4, 4, 9, 7, 8, 9, 10, 3, 2, 7, 2), array(8, 1, 2, 3, 4, 8, 3, 7, 8, 9, 10, 5, 3, 9, 1), array(10, 3, 5, 7, 6, 5, 4, 3, 12, 1, 0, 6, 5, 10, 2), array(10, 9, 8, 7, 6, 5, 4, 3, 2, 1, NULL, 8, 6, 4, 2));
$nx = count($data[0]);
$ny = count($data);
for ($i = 0; $i < $nx; ++$i) {
    $collabels[$i] = sprintf('column label: %02d', $i);
}
for ($i = 0; $i < $ny; ++$i) {
    $rowlabels[$i] = sprintf('row label: %02d', $i);
}
// Setup a nasic matrix graph
$graph = new MatrixGraph(400, 350);
$graph->SetBackgroundGradient('lightsteelblue:0.8', 'lightsteelblue:0.3');
$graph->title->Set('Matrix with lines');
$graph->title->SetFont(FF_ARIAL, FS_BOLD, 18);
$graph->title->SetColor('white');
// Create two lines to add as markers
$l1 = new PlotLine(VERTICAL, 5, 'lightgray:1.5', 4);
$l2 = new PlotLine(HORIZONTAL, 3, 'lightgray:1.5', 4);
// Create one matrix plot
$mp = new MatrixPlot($data, 1);
$mp->SetModuleSize(13, 15);
$mp->SetCenterPos(0.35, 0.6);
$mp->colormap->SetNullColor('gray');
// Add lines
$mp->AddLine($l1);
$mp->AddLine($l2);
Example #7
0
<?php

require_once 'jpgraph/jpgraph.php';
require_once 'jpgraph/jpgraph_matrix.php';
require_once 'jpgraph/jpgraph_iconplot.php';
$data = array(array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10), array(10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0), array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10), array(10, 9, 8, 17, 6, 5, 4, 3, 2, 1, 0), array(0, 1, 2, 3, 4, 4, 9, 7, 8, 9, 10), array(8, 1, 2, 3, 4, 8, 3, 7, 8, 9, 10), array(10, 3, 5, 7, 6, 5, 4, 3, 12, 1, 0), array(10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0));
$nrow = count($data);
$ncol = count($data[0]);
$width = 350;
$height = 300;
$graph = new MatrixGraph($width, $height);
$graph->title->Set('Add ine row/col labels');
$graph->title->SetFont(FF_ARIAL, FS_BOLD, 14);
$mp = new MatrixPlot($data, 1);
$mp->SetSize(0.55);
$mp->SetCenterPos(0.45, 0.45);
$rowtitles = array();
for ($i = 0; $i < $nrow; ++$i) {
    $rowtitles[$i] = sprintf('Row: %02d', $i);
}
$coltitles = array();
for ($i = 0; $i < $ncol; ++$i) {
    $coltitles[$i] = sprintf('Col: %02d', $i);
}
$mp->rowlabel->Set($rowtitles);
$mp->rowlabel->SetFont(FF_ARIAL, FS_NORMAL, 10);
$mp->rowlabel->SetFontColor('blue');
$mp->rowlabel->SetSide('left');
$mp->collabel->Set($coltitles);
$mp->collabel->SetFont(FF_ARIAL, FS_NORMAL, 10);
$mp->collabel->SetFontColor('darkred');