 |
Publicité
|
Programmes et packages nécessaires :
- Perl pour windows
- GD
- GD:Graph
- GD:Text
- GD:Graph:3D
disponible sur :
Les résultats des statistiques peuvent être présentés sous forme de tableaux, de graphiques, de diagrammes et d'histogrammes. Voici le programme qui permet de créer un histogramme tridimensionnel en PERL.
Le code est le suivant :
use GD;
$|=1;
use GD::Graph::bars3d;
sub creatbar3d{
my ($valmax,$tick,$labelX,$labelY,$title,$YSkip,$overwrite,$legkeys,@lesdonnees) = (@_);
# $overwrite => définit la présentation des barres :
# 0 -> les barres les unes après les autres sont au même niveau,
# 1 -> les barres les unes après les autres sont dans un niveau différent,
# 2 -> les barres sont les unes sur les autres (addition).
#
my $graph = GD::Graph::bars3d->new(340, 340);
$graph->set_title_font(['c:/WINNT/Fonts/arial.ttf', gdLargeBoldFont], 10);
$graph->set_x_label_font(['c:/WINNT/Fonts/arial.ttf', 'arial', gdMediumFont], 10);
$graph->set_y_label_font (['c:/WINNT/Fonts/arial.ttf', 'arial', gdMediumFont], 10);
$graph->set_x_axis_font (['c:/WINNT/Fonts/arial.ttf', 'arial', gdSmallFont], 6);
$graph->set_y_axis_font (['c:/WINNT/Fonts/arial.ttf', 'arial', gdSmallFont], 8);
$graph->set_legend_font (['c:/WINNT/Fonts/arial.ttf', 'arial', gdLargeBoldFont], 8);
$graph->set_legend(split(/\|/,$legkeys));
$graph->set(
x_label => $labelX,
y_label => $labelY,
title => $title,
dclrs => [ qw(orange blue purple green pink red black gold yellow grey)],
y_max_value => $valmax,
y_min_value => 0,
y_tick_number => $tick,
y_label_skip => $YSkip,
box_axis => 0,
fgclr => "blue",
textclr => "blue",
boxclr => "white",
labelclr => "blue",
axislabelclr => "blue",
accentclr => "blue",
bar_spacing => 0,
overwrite => $overwrite,
shading => 1,
bar_depth => 15
);
my $im = $graph->plot( \@lesdonnees);
print "Content-Type: image/png\n\n";
binmode STDOUT;
print $im->png;
}
$valmax - valeur maximale sur l'axe des ordonnées ;
$tick - nombre des divisions sur l'axe des ordonnées ;
$labelX - étiquettes des abscisses;
$labelY - étiquettes des ordonnées;
$title - titre de l' histogramme;
$Yskip -=1;
$overwrite - définit la présentation des barres :
0 -> les barres les unes après les autres sont au même niveau,
1 -> les barres les unes après les autres sont dans un niveau différent,
2 -> les barres sont les unes sur les autres (addition).
$legkeys - légende de l'histogramme;
@lesdonnees - tableau des données. Il doit être présenté sous la forme suivante :
@lesdonnees =([@ValX],[@ValY0], [@ValY1], [@ValY2], [@ValY3]);
@ValX - tableau des valeurs sur l'axe des abscisses. Le nombre de division sur l'axe des abscisses est égal au nombre d'élément que contient le tableau.
@ValY - tableau des valeurs sur l'axe des ordonnées (résultats de statistique).
Le nombre des membres du tableau @ValX doit être égal au nombre des membres du tableau @ValY.
Les nombres du tableau @ValY sont à choisir par vous même.
|