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

sample56.pl

This page contains information on the GD::Graph sample sample56.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

sample56.gif:


Code to generate these graphs:


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

print STDERR "Processing sample56 (experimental)\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 => 14,
x_min_value => 100,
x_max_value => 800,
x_ticks => 1,
x_tick_length => -4,
x_long_ticks => 1,
x_label_skip => 2,
x_tick_offset => 2,

no_axes => 1,
line_width => 2,
x_label_position => 1/2,
r_margin => 15,

transparent => 0,
);

$my_graph->set_legend('Thanks to Scott Prahl and Gary Deschaines');
$my_graph->plot(\@data);
save_chart($my_graph, 'sample56');


sub read_data
{
my $fn = shift;
local(*ZZZ);
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;
}