Plotting vertical grid to line graph

We can draw vertical grid to the graph we developed in the basic line graph tutorial. To draw a vertical grid line from each point we have to draw line from graph point to the X axis. Note that the X-axis value from starting and ending point of the grid does not change as the lines are vertical. So x1 and x2 value ( starting and end point ) of x axis is same. The Y axis value starts from the graph point ( y value of the month ) to zero line of our graph and that is the point where Y value is maximum ( the horizontal line at the bottom ). So Y will vary from graph point to $y_max setting of the image. So to draw the vertical grid line we have to add one line only.

imageline ($im,$x2, $y_max,$x2,$y2,$grid_color);

Of course we have to set the value of $grid_color before this line. We will get image like this. For a better clarity than previous tutorial on basic of line graph we have reduced the height of the graph.
Line graph with vertical grid
The two lines added here are marked in bold letters.

include "db.php";

$qt=mysql_query("select * from gd_graph");

$x_gap=40; // The gap between each point in y axis

$x_max=$x_gap*13; // Maximum width of the graph or horizontal axis
$y_max=160; // Maximum hight of the graph or vertical axis
// Above two variables will be used to create a canvas of the image//

$im = @ImageCreate ($x_max, $y_max);
or die ("Cannot Initialize new GD image stream");
$background_color = ImageColorAllocate ($im, 234, 234, 234);
$text_color = ImageColorAllocate ($im, 233, 14, 91);
$graph_color = ImageColorAllocate ($im,25,25,25);

$grid_color = ImageColorAllocate ($im,125,125,125);

//echo "$nt[month], $nt[sales]";
$x2=$x1+$x_gap; // Shifting in X axis
$y2=$y_max-$nt[sales]; // Coordinate of Y axis

// Drawing the grid vertically//
imageline ($im,$x2, $y_max,$x2,$y2,$grid_color);

//Line above is to print month names on the graph
if($first_one=="no"){ // this is to prevent from starting $x1= and $y1=0
imageline ($im,$x1, $y1,$x2,$y2,$text_color); // Drawing the line between two points//
$x1=$x2; // Storing the value for next draw
$first_one="no"; // Now flag is set to allow the drawing
//header ("Content-type: image/jpg");

ImageJPEG ($im);

Subscribe to our mailing list

* indicates required
Subscribe to plus2net
Your Rating




thanks you for usefull subjects

Post Comment This is for short comments only. Use the forum for more discussions.

Subscribe to our mailing list

* indicates required
Subscribe to plus2net
HTML . MySQL. PHP. JavaScript. ASP. Photoshop. Articles. FORUM Contact us
©2000-2017 All rights reserved worldwide Privacy Policy Disclaimer