Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

Re: Draw chart

by ambrus (Abbot)
on May 03, 2010 at 08:51 UTC ( #838040=note: print w/ replies, xml ) Need Help??


in reply to Draw chart

Here's a script to produce a plot with gnuplot, similar to Plot a spiral with gnuplot.

Note: this will write the plot to a file "plot.png" in the current directory, overwriting without asking. You may want to change the name before you run.

use warnings; use strict; use IO::Handle; use File::Temp "tempfile"; my @date_str = qw( 29/04/2010-00.00 29/04/2010-00.30 29/04/2010-01.00 29/04/2010-01.30 29/04/2010-02.00 29/04/2010-02.30 29/04/2010-03.00 29/04/2010-03.30 29/04/2010-04.00 29/04/2010-04.30 29/04/2010-05.00 29/04/2010-05.30 29/04/2010-06.00 29/04/2010-06.30 29/04/2010-07.00 29/04/2010-07.30 29/04/2010-08.00 29/04/2010-08.30 29/04/2010-09.00 29/04/2010-09.30 29/04/2010-10.00 29/04/2010-10.30 29/04/2010-11.00 29/04/2010-11.30 29/04/2010-12.00 29/04/2010-12.30 29/04/2010-13.00 29/04/2010-13.30 29/04/2010-14.00 29/04/2010-14.30 29/04/2010-15.00 29/04/2010-15.30 29/04/2010-16.00 29/04/2010-16.30 29/04/2010-17.00 29/04/2010-17.30 29/04/2010-18.00 29/04/2010-18.30 29/04/2010-19.00 29/04/2010-19.30 29/04/2010-20.00 29/04/2010-20.30 29/04/2010-21.00 29/04/2010-21.30 29/04/2010-22.00 29/04/2010-22.30 29/04/2010-23.00 29/04/2010-23.30 ); my @value = qw( 2 3 1 1 2 2 1 2 2 3 2 1 1 1 1 4 3 3 2 1 2 3 1 1 2 2 1 2 2 3 2 1 1 1 1 4 3 3 2 1 2 3 1 1 2 2 1 2 ); my($T,$N) = tempfile("plot-XXXXXXXX", "UNLINK", 1); for my $k (0 .. @value - 1) { say $T $date_str[$k], " ", $value[$k]; } close $T; open my $P, "|-", "gnuplot" or die; printflush $P qq[ unset key set title "Video Server Play Daily Hourly Report" set xdata time set timefmt "%d/%m/%Y-%H.%M" set format x "%d/%m-%H.%M" set xtics rotate set yrange [0:] noreverse set terminal png giant size 1000,500 set output "plot.png" plot "$N" using 1:2 with filledcurves y1=0 ]; close $P; __END__

Update 2012-01-28: added the statement close $T; which fixes a possible bug where the handle $T is not flushed; this fix is propagated from Plot a spiral with gnuplot.


Comment on Re: Draw chart
Select or Download Code

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (13)
As of 2015-07-31 07:23 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (275 votes), past polls