in reply to Re: Graph generation using MS Excel
in thread Graph generation using MS Excel

Hi,

Thanks for the reply.

I could not install GD::Graph & GD::Graph::Map on windows machine.

Can I install it using ppm. If so please give me the url to do it.

Thanks & Regards

Nalina

Replies are listed 'Best First'.
Re^3: Graph generation using MS Excel
by tachyon (Chancellor) on Jul 06, 2004 at 07:51 UTC

    Unlike GD itself (which need compilation) these modules are pure perl so will install without any issues on Win32. See A Guide to Installing Modules, get nmake, get the tarballs from CPAN, perl Makefile.PL && nmake && nmake test && nmake install. There is more to life that what comes as a PPM. This is some of it.....

    cheers

    tachyon

      Hi,

      Yes I installed it using nmake utility.

      I am able to run the sample scripts given. But the graph area in that png file is too small. Is there any way to increase the plot area?

      Also the x-axis values in my graph are dates in 'dd/mm/yyyy' format. How do I make these dates appear vertically? Like in Excel we do it as shown
      $AgeChart->Axes(xlCategory, xlPrimary)->TickLabels->{Orientation} = xl +Upward;
      Thanks and Regards

      Nalina

        You have heard of the concept RTFM. I suggest you do. It is all *very* well documented. Here is the FM. Here is a bit of sample code to give you the idea:

        sub graph_by_user { my ( $png, $data, $title ) = @_; require GD; require GD::Graph::hbars; my $X = 600; # x size my $Y = 60+ (15 * scalar keys %$data); # y size my $GD = GD::Graph::hbars->new( $X, $Y ); my ( @users, @categorised, @uncategorised ); for my $user ( sort keys %$data ) { push @users, $user; push @uncategorised, $data->{$user}->[0]; push @categorised, $data->{$user}->[1]; } $data = GD::Graph::Data->new([ \@users, \@uncategorised, \@categor +ised ]) or die $GD->error; my @atribs = ( y_label => "Total Reviews", long_ticks => 1, cumulate => 1, title => $title, dclrs => [ qw[ blue green ] ], ); $GD->set(@atribs); $GD->set_legend( 'Uncategorised', 'Categorised' ); my $gd = $GD->plot( $data ) or die $GD->error; open my $img, ">$png" or die "Couldn't write $png PNG $!"; binmode $img; print $img $gd->png or die "Error printing png: $!:"; close $img; }

        x_labels_vertical => 1 is the attribute you want to make the labels vertical.

        cheers

        tachyon