source: trunk/xgraph/jpgraph/Examples/matrix_introex.php

Last change on this file was 42, checked in by marrucho, 10 years ago
File size: 2.7 KB
Line 
1<?php
2require_once ('jpgraph/jpgraph.php');
3require_once ('jpgraph/jpgraph_matrix.php');
4require_once ('jpgraph/jpgraph_iconplot.php');
5
6$data = array(
7    array(0,1,2,3,4,5,6,7,8,9,10),
8    array(10,9,8,7,6,5,4,3,2,1,0),
9    array(0,1,2,3,4,5,6,7,8,9,10),
10    array(10,9,8,17,6,5,4,3,2,1,0),
11    array(0,1,2,3,4,4,9,7,8,9,10),
12    array(8,1,2,3,4,8,3,7,8,9,10),
13    array(10,3,5,7,6,5,4,3,12,1,0),
14    array(10,9,8,7,6,5,4,3,2,1,0),
15);
16// Interpolate the data a factor of 4 to get some mroe
17// data points
18doMeshInterpolate($data,4);
19
20// Setup a timer
21$timer = new JpgTimer();
22$timer->Push();
23
24//--------------------------------------------------------------
25// Setup a basic matrix graph
26//--------------------------------------------------------------
27$width = 740; $height = 500;
28$graph = new MatrixGraph($width,$height);
29$graph->SetMargin(1,2,70,1);
30$graph->SetColor('white');
31$graph->SetMarginColor('#fafafa');
32$graph->title->Set('Intro matrix graph');
33$graph->title->SetFont(FF_ARIAL,FS_BOLD,14);
34
35// Setup the background image
36$graph->SetBackgroundImage('fireplace.jpg',BGIMG_FILLPLOT);
37$graph->SetBackgroundImageMix(50);
38
39// Setup the timer in the right footer
40$graph->footer->SetTimer($timer);
41$graph->footer->right->SetColor('white');
42
43//--------------------------------------------------------------
44// Create the 2 matrix plots
45//--------------------------------------------------------------
46$mp = array(); $n = 2;
47for($i=0; $i < $n; ++$i){
48    $mp[$i] = new MatrixPlot($data);
49    $mp[$i]->colormap->SetMap($i);
50    $mp[$i]->SetSize(300,250);   
51    $mp[$i]->SetLegendLayout(1);
52    $mp[$i]->SetAlpha(0.2);
53   
54    // Make the legend slightly longer than default
55    $mp[$i]->legend->SetSize(20,280);
56}
57$mp[1]->colormap->SetMap(3);
58
59$hor1 = new LayoutHor(array($mp[0],$mp[1]));
60$hor1->SetCenterPos(0.5,0.5);
61
62$graph->Add($hor1);
63
64//--------------------------------------------------------------
65// Add texts to the graph
66//--------------------------------------------------------------
67$txts = array( 
68    array('Temperature gradient',$width/2,80),
69    array('Heat color map',200,110),
70    array('High contrast map',560,110));
71
72$n=count($txts);
73$t=array();
74for($i=0; $i < $n; ++$i){
75    $t[$i] = new Text($txts[$i][0],$txts[$i][1],$txts[$i][2]);
76    $t[$i]->SetFont(FF_ARIAL,FS_BOLD,14);
77    $t[$i]->SetColor('white');
78    $t[$i]->SetAlign('center','top');
79}
80$graph->Add($t);
81
82//--------------------------------------------------------------
83// Add Jpgraph logo to top left corner
84//--------------------------------------------------------------
85$icon = new IconPlot('jpglogo.jpg',2,2,0.9,50);
86$graph->Add($icon);
87
88$graph->Stroke();
89?>
Note: See TracBrowser for help on using the repository browser.