1 | <?php |
---|
2 | require_once ('jpgraph/jpgraph.php'); |
---|
3 | require_once ('jpgraph/jpgraph_matrix.php'); |
---|
4 | require_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 |
---|
18 | doMeshInterpolate($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; |
---|
47 | for($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(); |
---|
74 | for($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 | ?> |
---|