[42] | 1 | <?php // content="text/plain; charset=utf-8"
|
---|
| 2 | require_once('jpgraph/jpgraph.php');
|
---|
| 3 | require_once('jpgraph/jpgraph_matrix.php');
|
---|
| 4 | require_once('jpgraph/jpgraph_plotline.php');
|
---|
| 5 |
|
---|
| 6 |
|
---|
| 7 | $data = array(
|
---|
| 8 | array(0,null,2,3,4,5,6,7,8,9,10,8,6,4,2),
|
---|
| 9 | array(10,9,8,7,6,5,4,3,2,1,0,8,5,9,2),
|
---|
| 10 | array(0,1,2,3,4,5,6,7,8,9,10,2,4,5,7),
|
---|
| 11 | array(10,9,8,17,6,5,4,3,2,1,0,8,6,4,2),
|
---|
| 12 | array(0,1,2,3,4,4,9,7,8,9,10,3,2,7,2),
|
---|
| 13 | array(8,1,2,3,4,8,3,7,8,9,10,5,3,9,1),
|
---|
| 14 | array(10,3,5,7,6,5,4,3,12,1,0,6,5,10,2),
|
---|
| 15 | array(10,9,8,7,6,5,4,3,2,1,NULL,8,6,4,2),
|
---|
| 16 | );
|
---|
| 17 |
|
---|
| 18 | $nx = count($data[0]);
|
---|
| 19 | $ny = count($data);
|
---|
| 20 |
|
---|
| 21 |
|
---|
| 22 |
|
---|
| 23 | for($i=0; $i < $nx; ++$i ) {
|
---|
| 24 | $collabels[$i] = sprintf('column label: %02d',$i);
|
---|
| 25 |
|
---|
| 26 | }
|
---|
| 27 | for($i=0; $i < $ny; ++$i ) {
|
---|
| 28 | $rowlabels[$i] = sprintf('row label: %02d',$i);
|
---|
| 29 | }
|
---|
| 30 |
|
---|
| 31 | // Setup a nasic matrix graph
|
---|
| 32 | $graph = new MatrixGraph(400,350);
|
---|
| 33 |
|
---|
| 34 | $graph->SetBackgroundGradient('lightsteelblue:0.8','lightsteelblue:0.3');
|
---|
| 35 | $graph->title->Set('Matrix with lines');
|
---|
| 36 | $graph->title->SetFont(FF_ARIAL,FS_BOLD,18);
|
---|
| 37 | $graph->title->SetColor('white');
|
---|
| 38 |
|
---|
| 39 | // Create two lines to add as markers
|
---|
| 40 | $l1 = new PlotLine(VERTICAL, 5, 'lightgray:1.5', 4);
|
---|
| 41 | $l2 = new PlotLine(HORIZONTAL, 3, 'lightgray:1.5', 4);
|
---|
| 42 |
|
---|
| 43 | // Create one matrix plot
|
---|
| 44 | $mp = new MatrixPlot($data,1);
|
---|
| 45 | $mp->SetModuleSize(13,15);
|
---|
| 46 | $mp->SetCenterPos(0.35,0.6);
|
---|
| 47 | $mp->colormap->SetNullColor('gray');
|
---|
| 48 |
|
---|
| 49 | // Add lines
|
---|
| 50 | $mp->AddLine($l1);
|
---|
| 51 | $mp->AddLine($l2);
|
---|
| 52 | // this could also be done as
|
---|
| 53 | // $mp->AddLine(array($l1,$l2));
|
---|
| 54 |
|
---|
| 55 | // Setup column lablels
|
---|
| 56 | $mp->collabel->Set($collabels);
|
---|
| 57 | $mp->collabel->SetSide('top');
|
---|
| 58 | $mp->collabel->SetFont(FF_ARIAL,FS_NORMAL,8);
|
---|
| 59 | $mp->collabel->SetFontColor('lightgray');
|
---|
| 60 |
|
---|
| 61 | // Setup row lablels
|
---|
| 62 | $mp->rowlabel->Set($rowlabels);
|
---|
| 63 | $mp->rowlabel->SetSide('right');
|
---|
| 64 | $mp->rowlabel->SetFont(FF_ARIAL,FS_NORMAL,8);
|
---|
| 65 | $mp->rowlabel->SetFontColor('lightgray');
|
---|
| 66 |
|
---|
| 67 | // Move the legend more to the right
|
---|
| 68 | $mp->legend->SetMargin(90);
|
---|
| 69 | $mp->legend->SetColor('white');
|
---|
| 70 | $mp->legend->SetFont(FF_VERDANA,FS_BOLD,10);
|
---|
| 71 |
|
---|
| 72 | $graph->Add($mp);
|
---|
| 73 | $graph->Stroke();
|
---|
| 74 |
|
---|
| 75 | ?>
|
---|