GD::Graph

Help and Information with Perl's GD::Graph module

Sample List

sample11.pl

sample12.pl

sample13.pl

sample14.pl

sample15.pl

sample16.pl

sample17.pl

sample18.pl

sample19.pl

sample1A.pl

sample1B.pl

sample21.pl

sample22.pl

sample23.pl

sample31.pl

sample41.pl

sample42.pl

sample51.pl

sample52.pl

sample53.pl

sample54.pl

sample55.pl

sample56.pl

sample57.pl

sample61.pl

sample62.pl

sample63.pl

sample64.pl

sample71.pl

sample91.pl

sample92.pl

sample93.pl

sample95.pl

sample54.pl

This page contains information on the GD::Graph sample sample54.pl. The generated files are shown first, with the code used to generate the charts shown down below.

Use the left-hand navigation menu to view the other samples included in the GD::Graph package, or use the links at the top to view other sections of the website.

Generated Chart

sample54.gif:


Code to generate these graphs:


use GD::Graph::lines;
require 'save.pl';

print STDERR "Processing sample54\n";

@data = read_data("sample54.dat")
or die "Cannot read data from sample54.dat";

$my_graph = new GD::Graph::lines();

$my_graph->set(
x_label => 'Wavelength (nm)',
y_label => 'Absorbance',
title => 'Numerical X axis',

y_min_value => 0,
y_max_value => 2,
y_tick_number => 8,
y_label_skip => 4,

x_tick_number => 'auto',
x_label_skip => 2,

box_axis => 0,
line_width => 2,
x_label_position => 1/2,
r_margin => 15,

x_labels_vertical => 1,

transparent => 0,
);

$my_graph->set_legend('Thanks to Scott Prahl');
$my_graph->plot(\@data);
save_chart($my_graph, 'sample54');


sub read_data
{
my $fn = shift;
my @d = ();

open(ZZZ, $fn) || return ();

while ()
{
chomp;
my @row = split;

for (my $i = 0; $i <= $#row; $i++)
{
undef $row[$i] if ($row[$i] eq 'undef');
unshift @{$d[$i]}, $row[$i];
}
}

close (ZZZ);

return @d;
}