Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
PerlMonks  

Re: Drawing graphs with perl

by blue_cowdawg (Monsignor)
on Apr 21, 2004 at 15:44 UTC ( [id://347036]=note: print w/replies, xml ) Need Help??


in reply to Drawing graphs with perl

      but I guess you need to link to a database or something to use that?

DBD::Chart allows a DBD interface into creating charts with the GD libararies. It is dependant on:

that taken directly from the DBD::Chart man page.

As far as I know there no dependancy on a physical databse per se. The chart you are creating is treated as a database via the DBI and DBD:: interface.

Replies are listed 'Best First'.
Re: Re: Drawing graphs with perl
by Melanie (Acolyte) on Apr 21, 2004 at 16:44 UTC
    Hi, thanks for your reply. I think I understand that.
    To explain a little more about my problem .. although GD:GRAPH does plot linegraphs, it doesnt seem to be able to plot xy scatter graphs, which is why I hunted around for something else, but if anyone knows that GD:graph does actually do scattergraphs, it would be much appreciated.
    Anyway ... on the premise that I need to use DBD:Graph instead, I installed it, that seemed fine, and then tried one of the examples here ... http://search.cpan.org/src/DARNOLD/DBD-Chart-0.80/dbdchart.html
    Although I am not getting any error messages, I am not getting any graphical output either. Can anyone see where I might be going astray? Thanks again Mel

          Can anyone see where I might be going astray?

      I usually work better when I have code in front of me to poke holes at.... so I'll provide some. This is taken straight from the CPAN download's examples for DBD::Chart here is some sample code for a pie chart:

      #!/usr/bin/perl -w use DBI; use DBD::Chart; open(OUTF, ">pietest.html"); print OUTF "<html><body> <img src=simppie.png> <img src=updpie.png> <img src=delpie.png> </body></html>\n"; close OUTF; $dbh = DBI->connect('dbi:Chart:'); # # simple piechart # $dbh->do('CREATE TABLE pie (region CHAR(20), sales FLOAT)'); $sth = $dbh->prepare('INSERT INTO pie VALUES( ?, ?)'); $sth->execute('East', 2756.34); $sth->execute('Southeast', 3456.78); $sth->execute('Midwest', 1234.56); $sth->execute('Southwest', 4569.78); $sth->execute('Northwest', 33456.78); $rsth = $dbh->prepare( "SELECT PIECHART FROM pie WHERE WIDTH=400 AND HEIGHT=400 AND TITLE = \'Sales By Region\' AND COLOR=(red, green, blue, lyellow, lpurple) AND SIGNATURE=\'Copyright(C) 2001, GOWI Systems, Inc.\' AND BACKGROUND=lgray"); $rsth->execute; $rsth->bind_col(1, \$buf); $rsth->fetch; open(OUTF, '>simppie.png'); binmode OUTF; print OUTF $buf; close(OUTF); print "simppie.png OK\n"; $updsth = $dbh->prepare('UPDATE pie SET sales = ? WHERE region = \'Nor +thwest\' '); $updsth->bind_param(1, 12999.45); $updsth->execute; $rsth->execute; $rsth->bind_col(1, \$buf); $rsth->fetch; open(OUTF, '>updpie.png'); binmode OUTF; print OUTF $buf; close(OUTF); print "updpie.png OK\n"; $delsth = $dbh->prepare('delete from pie where region = ? '); $delsth->bind_param(1, 'Northwest'); $delsth->execute; $rsth->execute; $rsth->bind_col(1, \$buf); $rsth->fetch; open(OUTF, '>delpie.png'); binmode OUTF; print OUTF $buf; close(OUTF); print "delpie.png OK\n";

      I ran the code and did an "ls" in my CWD and lo and behold I found:

      [pberghol@cowdawg pietest]$ ls delpie.png pietest.html pietest.pl simppie.png updpie.png

      I bet if I open pietest.html I should see a pretty chart. I tried it and I did. If you look here you'll see what I mean.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://347036]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others cooling their heels in the Monastery: (8)
As of 2024-04-18 16:28 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found