Вы находитесь на странице: 1из 13

GD Graph

Dr. Taufik Fuadi Abidin, S.Si., M.Tech


Jurusan Informatika
FMIPA Universitas Syiah Kuala
www.informatika.unsyiah.ac.id/tfa

GD::Graph
GD::Graph adalah perluasan dari GD module yang
menyediakan API untuk membuat graph dan
chart secara on-the-fly.
GD::Graph dirancang oleh Martien Verbruggen in
1995 dan terus berkembang menjadi tool yang
popular.
Modul ini sangat cocok dipadukan dengan dataset
yang dinamis (dari database). Saat ini, GD::Graph
menjadi tool untuk menampilkan chart dan graph
terkait keuangan (finansial)

Setup Awal
Install

sudo apt-get install libgd-graph-perl


Paket yang akan diinstal
- libgd-graph-perl

- libgd-text-perl
Referensi:
http://search.cpan.org/~mverb/GDGraph1.43/Graph.pm

Fase Pembuatan Graph


Pengumpulan data (data gathering), parsing, dan
organisasi data (data organizing) dalam format
yang sesuai.
Set atribut dari graph.
Gambar graph dengan fungsi draw().
Penggambaran (plotting) menerima masukkan
berupa alamat (reference) dari sebuah array.
Elemen pertama untuk x-axis dan elemen kedua
merupakan data untuk y-axis.

Bar Chart
#!/usr/bin/perl
use CGI;
use strict;
use GD::Graph::bars;
my @data = (
["Jan-01","Feb-01","Mar-01", "Apr-01","May-01",
"Jun-01","Jul-01","Aug-01","Sep-01"],
[21,25,33,39,49,48,40,45,15]
);
my $cgi = CGI->new;
my $graph = new GD::Graph::bars;

Bar Chart (Contd)


$graph->set(
x_label => 'Month',
y_label => 'Revenue ($1,000s)',
title
=> 'Monthly Online Sales for 2001',
bar_spacing => 10
) or warn $graph->error;
$graph->plot(\@data) or die $graph->error;
print $cgi->header(-type=>'image/jpeg'),
$graph->gd->jpeg(200);
open(GRAPH,">graph1.jpg") || die "Error graph:$!\n";
print GRAPH $graph->gd->jpeg(200);
close(GRAPH);

Keluaran Pada Browser

Bar Chart (Horiz dan Vertikal)


#!/usr/bin/perl
use
use
use
use
use

CGI;
strict;
GD::Graph::bars;
GD::Graph::hbars;
GD::Graph::Data;

my $data = GD::Graph::Data->new([
["1st","2nd","3rd","4th","5th","6th","7th", "8th", "9th"],
[ 1, 2, 5, 6, 3, 1.5, 1, 3, 4],
]) or die GD::Graph::Data->error;
my @names = qw/sample11 sample11-h/;
my $cgi = CGI->new;
print $cgi->header({-type=>'text/html'});
print $cgi->start_html({-title=>"Grafika Komputer",
-style=>{-src=>'tfa.css'}});

Bar Chart (Horiz dan Vertikal)


#!/usr/bin/perl
use
use
use
use
use

CGI;
strict;
GD::Graph::bars;
GD::Graph::hbars;
GD::Graph::Data;

my $data = GD::Graph::Data->new([
["1st","2nd","3rd","4th","5th","6th","7th", "8th", "9th"],
[ 1, 2, 5, 6, 3, 1.5, 1, 3, 4],
]) or die GD::Graph::Data->error;
my @names = qw/sample11 sample11-h/;
my $cgi = CGI->new;
print $cgi->header({-type=>'text/html'});
print $cgi->start_html({-title=>"Grafika Komputer",
-style=>{-src=>'tfa.css'}});

Bar Chart (Horiz dan Vertikal)


for my $g (GD::Graph::hbars->new, GD::Graph::bars->new) {
my $name = shift @names;
$g->set(
x_label => 'X Label',
y_label => 'Y label',
title => 'A Simple Bar Chart',
y_max_value => 8,
y_tick_number => 8,
y_label_skip => 2,
x_labels_vertical => 1,
# shadows
bar_spacing => 8,
shadow_depth => 4,
shadowclr => 'dred',
transparent => 1,
) or warn $my_graph->error;

Bar Chart (Horiz dan Vertikal)


$g->plot($data) or die $my_graph->error;
open(GRAPH,">../tmp/$name") || die "Error $name: $!\n";
print GRAPH $g->gd->jpeg(500);
close(GRAPH);
display_chart($name);
}

sub display_chart(){
my $file = shift;
my $path = "http://localhost/tmp/$file";
print $cgi->img({-src=>"$path", -class=>'gambar'});
print $cgi->br x 3;
}

Keluaran Pada Browser

http://gdgraph.com/samples/

Вам также может понравиться