in reply to Re: How to add two array data into one GD plot?
in thread How to add two array data into one GD plot?

Hi BrowersUk,

Actually, I have made a mistake, could you help me again, I mean date might be different. As I would like gather these two data plots into one bars.

@data1 = ( ["2010/03/29 14:00:00","2010/03/29 14:00:00"], [13,15] ); @data2 = ( ["2010/04/29 14:00:00","2010/04/29 14:00:00"], [20,21] );

Replies are listed 'Best First'.
Re^3: How to add two array data into one GD plot?
by BrowserUk (Patriarch) on Jul 29, 2012 at 21:41 UTC

    Hm. You could just combine the two datasets into a single dataset. But that doesn't produce a very inspiring graph:

    #! perl -slw use strict; use GD::Graph::bars; my @d1 = ( [ "2010/03/29 14:00:00", "2010/03/29 14:00:00", "2010/04/29 14:00: +00", "2010/04/29 14:00:00" ], [ 13, 15, 20, 21 ], ); my $g1 = GD::Graph::bars->new( 1000, 800 ); my $img1 = $g1->plot( \@d1 ); open PNG, '>:raw', "$0.png" or die $!; print PNG $img1->png; close PNG; system "$0.png";

    or maybe you need to retain two datasets and just combine the labels, to give this:

    #! perl -slw use strict; use GD::Graph::bars; my @d1 = ( [ "2010/03/29 14:00:00", "2010/04/29 14:00:00" ], [ 13, 15 ], [ 20, 21 ], ); my $g1 = GD::Graph::bars->new( 1000, 800 ); my $img1 = $g1->plot( \@d1 ); open PNG, '>:raw', "$0.png" or die $!; print PNG $img1->png; close PNG; system "$0.png";

    .

    Or maybe I've combined the values the wrong way and what you want is this

    #! perl -slw use strict; use GD::Graph::bars; my @d1 = ( [ "2010/03/29 14:00:00", "2010/04/29 14:00:00" ], [ 13, 20 ], [ 15, 21 ], ); my $g1 = GD::Graph::bars->new( 1000, 800 ); my $img1 = $g1->plot( \@d1 ); open PNG, '>:raw', "$0.png" or die $!; print PNG $img1->png; close PNG; system "$0.png";

    And maybe you want a gap between the two this

    #! perl -slw use strict; use GD::Graph::bars; my @d1 = ( [ "2010/03/29 14:00:00", undef, "2010/04/29 14:00:00" ], [ 13, undef, 20 ], [ 15, undef, 21 ], ); my $g1 = GD::Graph::bars->new( 1000, 800 ); my $img1 = $g1->plot( \@d1 ); open PNG, '>:raw', "$0.png" or die $!; print PNG $img1->png; close PNG; system "$0.png";

    With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    "Science is about questioning the status quo. Questioning authority".
    In the absence of evidence, opinion is indistinguishable from prejudice.

    The start of some sanity?