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 | |
---|