You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl-cvs@perl.apache.org by sb...@hyperreal.org on 1999/08/14 13:42:39 UTC
cvs commit: modperl-site/netcraft graph.gif graph.pl input.data
sbekman 99/08/14 04:42:38
Modified: . index.html
netcraft graph.gif graph.pl input.data
Log:
graphs, graphs, graphs... updated the monthly graph, created a better
smaller graph for the /index.html. Now graph.pl makes both graphs - the
normal and small one.
Revision Changes Path
1.28 +9 -3 modperl-site/index.html
Index: index.html
===================================================================
RCS file: /export/home/cvs/modperl-site/index.html,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -r1.27 -r1.28
--- index.html 1999/08/03 06:49:23 1.27
+++ index.html 1999/08/14 11:42:37 1.28
@@ -1,7 +1,7 @@
<html>
<head>
<title>Apache/Perl Integration Project</title>
-<!-- Last changed: $Id: index.html,v 1.27 1999/08/03 06:49:23 sbekman Exp $ -->
+<!-- Last changed: $Id: index.html,v 1.28 1999/08/14 11:42:37 sbekman Exp $ -->
<!-- Last changed: Gerald Richter: 31-Mar-1999 -->
</head>
<body bgcolor=#ffffff >
@@ -148,8 +148,14 @@
<p>
<hr>
<p>
-And finally some numbers: (See <A HREF="/netcraft">for more information</A> and bigger picture :)<BR>
-<IMG SRC="/netcraft/graph.gif" HEIGHT=300 WIDTH=525 BORDER=0 ALT="mod_perl usage graph">
+
+And finally some numbers: A monthly growth of mod_perl deployment
+ (See <A HREF="/netcraft">for more information</A> and bigger and better
+graphp:)<BR>
+
+<A HREF="/netcraft">
+<IMG SRC="/netcraft/pseudo-graph.gif" HEIGHT=200 WIDTH=350 BORDER=0 ALT="mod_perl usage graph">
+</A>
<hr>
<p>
<font size=-2>
1.3 +66 -73 modperl-site/netcraft/graph.gif
<<Binary file>>
1.2 +106 -47 modperl-site/netcraft/graph.pl
Index: graph.pl
===================================================================
RCS file: /export/home/cvs/modperl-site/netcraft/graph.pl,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- graph.pl 1999/05/13 19:44:47 1.1
+++ graph.pl 1999/08/14 11:42:38 1.2
@@ -1,72 +1,131 @@
#!/usr/bin/perl
-# this script build a graph from 2 data sets, expects to find a file
+# this script builds 2 graphs from 2 data sets, expects to find a file
# with data of name "input.data" in the script's directory, data should be
# separated with tabs, e.g:
#May 1999 156458 36976
#April 1999 134255 32570
#March 1999 112399 28482
+#
+# first set describes a number Hostnames, 2nd - Unique IP numbers
+#
+# first graph (graph.gif) is a normal one
+#
+# second graph (pseudo-graph.gif) is much smaller and includes points,
+# with no other labels, but y axis. This graph should be linked to a
+# bigger one (graph.gif)
+#
+# Note: you need GIFgraph package to be installed in order to use this
+# script.
+
+# Copyrighted under GPL license
+# by Stas Bekman <sb...@iname.com>
+# Aug, 14 1999
-# Note: you need GIFgraph to be installed in order to use this script.
-
-# Copyleft by Stas Bekman <sb...@iname.com>
-# May, 13 1999
-
use GIFgraph::linespoints;
+use strict;
print STDERR "Processing data\n";
-@data = read_data_from_csv("input.data")
+my @data = read_data_from_csv("input.data")
or die "Cannot read data from input.data";
-$my_graph = new GIFgraph::linespoints(700,400);
-
# make the Y axis to be optimally used
-$max_y = 0;
-foreach $val (@{$data[1]},@{$data[2]}){
- $max_y = $val if $val > $max_y ;
+my $max_y = 0;
+foreach (@{$data[1]},@{$data[2]}) {
+ $max_y = $_ if $_ > $max_y ;
}
# normalize it
$max_y = ( int $max_y / 1000 + 1 ) * 1000;
+
+normal_graph();
+
+pseudo_graph();
+
+# plot a normal graph of points with all the info as possible
+sub normal_graph{
+ my $my_graph = new GIFgraph::linespoints(700,400);
+
+ $my_graph->set(
+ x_label => 'Months',
+ y_label => 'Counts',
+ title => "mod_perl usage survey (numbers are by courtesy of netcraft.com).",
+ y_max_value => $max_y,
+ y_label_skip => 1,
+ x_label_skip => 1,
+ x_labels_vertical => 1,
+ x_label_position => 1/2,
+ markers => [ 1, 7 ],
+ marker_size => 2,
+ transparent => 1,
+ t_margin => 10,
+ b_margin => 10,
+ l_margin => 10,
+ r_margin => 10,
+
+ two_axes => 1,
+ logo => 'logo.gif',
+ logo_position => 'LL',
+ );
+
+ #$my_graph->set( dclrs => [ qw(green pink blue cyan) ] );
+
+ $my_graph->set_x_label_font(GD::gdMediumBoldFont);
+ $my_graph->set_y_label_font(GD::gdMediumBoldFont);
+ $my_graph->set_x_axis_font(GD::gdMediumBoldFont);
+ $my_graph->set_y_axis_font(GD::gdMediumBoldFont);
+ $my_graph->set_title_font(GD::gdGiantFont);
-$my_graph->set(
- x_label => 'Months',
- y_label => 'Counts',
- title => "mod_perl usage survey (numbers are by courtesy of netcraft.com).",
- y_max_value => $max_y,
- y_label_skip => 1,
- x_label_skip => 1,
- x_labels_vertical => 1,
- x_label_position => 1/2,
- markers => [ 1, 7 ],
- marker_size => 2,
- transparent => 1,
- t_margin => 10,
- b_margin => 10,
- l_margin => 10,
- r_margin => 10,
-
- two_axes => 1,
- logo => 'logo.gif',
- logo_position => 'LL',
-
-
-);
-
-#$my_graph->set( dclrs => [ qw(green pink blue cyan) ] );
-
-$my_graph->set_x_label_font(GD::gdMediumBoldFont);
-$my_graph->set_y_label_font(GD::gdMediumBoldFont);
-$my_graph->set_x_axis_font(GD::gdMediumBoldFont);
-$my_graph->set_y_axis_font(GD::gdMediumBoldFont);
-$my_graph->set_title_font(GD::gdGiantFont);
+ $my_graph->set_legend('Hostnames','Unique IP numbers' );
+ $my_graph->set_legend_font(GD::gdMediumBoldFont);
-$my_graph->set_legend('Hostnames','Unique IP numbers' );
-$my_graph->set_legend_font(GD::gdMediumBoldFont);
+ $my_graph->plot_to_gif( "graph.gif", \@data );
-$my_graph->plot_to_gif( "graph.gif", \@data );
+}
+
+# plot a small graph of points with as least info as possible
+sub pseudo_graph{
+ my $my_graph = new GIFgraph::linespoints(350,200);
+
+ # in this graph we don't want X labels to be printed
+ for (0..$#{$data[0]}) {
+ $data[0]->[$_] = "";
+ }
+
+ $my_graph->set(
+ y_max_value => $max_y,
+ y_label_skip => 0,
+ x_label_skip => 1,
+ x_labels_vertical => 1,
+ x_label_position => 1/2,
+ markers => [ 1, 7 ],
+ marker_size => 2,
+ transparent => 1,
+ t_margin => 10,
+ b_margin => 10,
+ l_margin => 10,
+ r_margin => 10,
+ two_axes => 0,
+
+ logo => 'logo-middle.gif',
+ logo_position => 'UL',
+ );
+
+ #$my_graph->set( dclrs => [ qw(green pink blue cyan) ] );
+
+ $my_graph->set_x_label_font(GD::gdMediumBoldFont);
+ $my_graph->set_y_label_font(GD::gdSmallFont);
+ $my_graph->set_x_axis_font(GD::gdMediumBoldFont);
+ $my_graph->set_y_axis_font(GD::gdSmallFont);
+ $my_graph->set_title_font(GD::gdGiantFont);
+
+ $my_graph->set_legend('Hostnames','Unique IP numbers' );
+ $my_graph->set_legend_font(GD::gdSmallFont);
-exit;
+ $my_graph->plot_to_gif( "pseudo-graph.gif", \@data );
+
+
+}
sub read_data_from_csv
{
1.3 +2 -2 modperl-site/netcraft/input.data
Index: input.data
===================================================================
RCS file: /export/home/cvs/modperl-site/netcraft/input.data,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- input.data 1999/07/14 20:07:13 1.2
+++ input.data 1999/08/14 11:42:38 1.3
@@ -1,5 +1,6 @@
+August 1999 248925 51413
July 1999 202081 42183
-June 1999 183793 40484
+June 1999 183793 40484
May 1999 156458 36976
April 1999 134255 32570
March 1999 112399 28482
@@ -24,5 +25,4 @@
August 1997 1501 1228
July 1997 1138 580
June 1997 312 239
-
Re: cvs commit: modperl-site/netcraft graph.gif graph.pl input.data
Posted by Ask Bjoern Hansen <as...@valueclick.com>.
On 14 Aug 1999 sbekman@hyperreal.org wrote:
> Log:
> graphs, graphs, graphs... updated the monthly graph, created a better
> smaller graph for the /index.html. Now graph.pl makes both graphs - the
> normal and small one.
Nice, thanks Stas.
--
ask bjoern hansen - <http://www.netcetera.dk/~ask/>
more than 30M impressions per day, <http://valueclick.com>