Creating Graphs Using PHP

Graphs can be created in several ways, ranging from manual to the use of computers and sophisticated graph-drawing software packages. This article gives a brief description of the use of PHP to draw graphs and, in particular, the JpGraph package.

There are many software packages that help create graphs and charts using PHP. One such package is JpGraph. It is released under a dual licence  the QPL 1.0 (Qt Free License) for open source or educational use, and the JpGraph Professional License for commercial use. Lets discuss the open source version of JpGraph in this article.

Installation
The package can be downloaded from http://jpgraph.net/download/. Currently, there are two different packages for PHP4 and PHP5. Select the appropriate link. You may extract the files anywhere, preferably in the document root (e.g., /var/www).
In order to use JpGraph, you will also have to download the gd library for PHP:

sudoapt-get installphp5-gd

To check whether the library has been installed properly, type the following command:

php5 -m

You should see gd in the list. See Figure 1.
Thats it! Now we can start creating graphs.

Figure 1: gd in the list of installed libraries

Figure 2: Line graph

Creating a line graph
Let us look at how to create a simple line graph. Locate the directory where jpgraph.php can be found. Include this file in your code:

require_once(jpgraph/src/jpgraph.php);

Next, in order to draw a line graph, you need to include the jpgraph_line.php file, as follows:

require_once(jpgraph/src/jpgraph_line.php);

Now, to create a graph, instantiate the Graph class by passing its width and the height, respectively.

$graph = new Graph(300, 400); //300is the width and 400 is the height

$graph->SetScale(intln); //setthe scale of the graph

Prepare the data to be plotted as a line graph using an array:

$data = array(2, 2, 5, 6, 7, 8);

Now create the plot:

$plot = new LinePlot($data);

Add the plot to the graph using the Add function:

$graph->Add($pplot);

Finally, display the graph using the Stroke function:

$graph->Stroke();

The graph for the above code is shown in Figure 2.

Figure 3: Bar graph

Creating a bar graph
In order to create a bar graph, include the code from jpgraph.php as well as from jpgraph_bar.php. jpgraph_line.php is not required here.

require_once(jpgraph/src/jpgraph.php);

require_once(jpgraph/src/jpgraph_bar.php);

//createthe graph

$graph = new Graph(350,220); //setthe width and the height

$graph->SetScale(textlin); //setthe scale of the graph

$data=array(10,12,30,60); //preparethe data

//Create the bar plots and add it to the graph

$barplot = new BarPlot($data);

$graph->Add($barplot);

$graph->Stroke(); //displaythe graph

The graph for the above code is shown in Figure 3.
You may use the package to create various other types of graphs as well. Go ahead and explore JpGraph!