1 | <?php // content="text/plain; charset=utf-8"
|
---|
2 | // $Id: balloonex1.php,v 1.5 2002/12/15 16:08:51 aditus Exp $
|
---|
3 | require_once ('jpgraph/jpgraph.php');
|
---|
4 | require_once ('jpgraph/jpgraph_scatter.php');
|
---|
5 |
|
---|
6 | // Some data
|
---|
7 | $datax = array(1,2,3,4,5,6,7,8);
|
---|
8 | $datay = array(12,23,95,18,65,28,86,44);
|
---|
9 | // Callback for markers
|
---|
10 | // Must return array(width,color,fill_color)
|
---|
11 | // If any of the returned values are "" then the
|
---|
12 | // default value for that parameter will be used.
|
---|
13 | function FCallback($aVal) {
|
---|
14 | // This callback will adjust the fill color and size of
|
---|
15 | // the datapoint according to the data value according to
|
---|
16 | if( $aVal < 30 ) $c = "blue";
|
---|
17 | elseif( $aVal < 70 ) $c = "green";
|
---|
18 | else $c="red";
|
---|
19 | return array(floor($aVal/3),"",$c);
|
---|
20 | }
|
---|
21 |
|
---|
22 | // Setup a basic graph
|
---|
23 | $graph = new Graph(400,300,'auto');
|
---|
24 | $graph->SetScale("linlin");
|
---|
25 | $graph->img->SetMargin(40,100,40,40);
|
---|
26 | $graph->SetShadow();
|
---|
27 | $graph->title->Set("Example of ballon scatter plot");
|
---|
28 | // Use a lot of grace to get large scales
|
---|
29 | $graph->yaxis->scale->SetGrace(50,10);
|
---|
30 |
|
---|
31 | // Make sure X-axis as at the bottom of the graph
|
---|
32 | $graph->xaxis->SetPos('min');
|
---|
33 |
|
---|
34 | // Create the scatter plot
|
---|
35 | $sp1 = new ScatterPlot($datay,$datax);
|
---|
36 | $sp1->mark->SetType(MARK_FILLEDCIRCLE);
|
---|
37 |
|
---|
38 | // Uncomment the following two lines to display the values
|
---|
39 | $sp1->value->Show();
|
---|
40 | $sp1->value->SetFont(FF_FONT1,FS_BOLD);
|
---|
41 |
|
---|
42 | // Specify the callback
|
---|
43 | $sp1->mark->SetCallback("FCallback");
|
---|
44 |
|
---|
45 | // Setup the legend for plot
|
---|
46 | $sp1->SetLegend('Year 2002');
|
---|
47 |
|
---|
48 | // Add the scatter plot to the graph
|
---|
49 | $graph->Add($sp1);
|
---|
50 |
|
---|
51 | // ... and send to browser
|
---|
52 | $graph->Stroke();
|
---|
53 |
|
---|
54 | ?>
|
---|
55 |
|
---|
56 |
|
---|