in reply to Re^2: GD::Graph::area - how to set the axis origin
in thread GD::Graph::area - how to set the axis origin

As stefbv pointed out, because it is a generic graphing package where there will commonly be no relationship between the units displayed on the two axis, it makes sense to not have the Y-axis line up with the zero tick of the X-axis. To do so would be wrong for the majority of datasets.

A possible solution to your requirement is to remember that underlying GD::Graph is GD, which means you can tweak the graph after you've plotted it with all the power of the latter.

By adding the following four lines to your original code:

## Existing line my $im = $graph->plot(\@data); my $gd = $graph->gd; ## get a drawing handle ## blank out the new Y-axis position $gd->filledRectangle( 16,0, 48,300, $gd->transparent ); ## Copy the Y-axis to the new position $gd->copy( $gd, 35,0, 0,0, 15,300 ); ## Blank out the original $gd->filledRectangle( 0,0, 16,300, $gd->transparent );

You get this.

Alternatively, you might prefer to move the graph left to meet the axis and blank the residue.


Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
"I'd rather go naked than blow up my ass"