IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Perl Discussion :

Question de syntaxe


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de etranger
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    333
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2004
    Messages : 333
    Par défaut Question de syntaxe
    Bonsoir

    j'ecrit un script qui doit me faire un histograme de la frenquence d'apparition des charactaires dans un fichier donner, pour cela j'utilise le module Tk::Graph.

    Dans la documentation de l'API, cette exemple est donner :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    #!/usr/local/bin/perl
     
    use Tk;
    use Tk::Graph;
     
       $mw = MainWindow->new;
       my $data = {
            Sleep   => 51,
            Work    => 135,
            Access  => 124,
            mySQL   => 5
       };
       my $ca = $mw->Graph(
                    -type  => 'BARS',
            )->pack(
                    -expand => 1,
                    -fill => 'both',
            );
       $ca->configure(-variable => $data);     # bind to data
       # or ...
       $ca->set($data);        # set data
       MainLoop;
    or je n'arrive pas a comprendre qu'est ce que $data, qui sert a passer les parameteres au graph, est en realitee ? une variable , un tableau ou un hash ?

    car j'aimerait remplir le tableau avec une boucle (donc je ne pourait pas utiliser la syntaxe de l'exemple), j'ai essayer d'utiliser un hash mais sa ne fonctione pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    #!/usr/local/bin/perl
     
    use Tk;
    use Tk::Graph;
    #use strict;
     
      my %data;
      my $mw = MainWindow->new;
      for (a..z) { 
                  $data{"$_"} = 2; # valeure bidon <-----------
                  }
     
       my $ca = $mw->Graph(
                    -type  => 'BARS',
            )->pack(
                    -expand => 1,
                    -fill => 'both',
            );
       $ca->configure(-variable => $data);     # bind to data
       # or ...
       $ca->set($data);        # set data
       MainLoop;
    merci d'avance.

  2. #2
    Expert confirmé
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Par défaut
    $data est une référence sur un hash anonyme dont les clés sont les barres de ton graphe et les valeurs sont les hauteurs associées. Si tu ne comprend pas "référence sur un hash anonyme", va faire un tour sur la FAQ.

    --
    Jedaï

  3. #3
    Membre éclairé Avatar de etranger
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    333
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2004
    Messages : 333
    Par défaut
    Merci, maintenant j'ai compris.

    apropos, connaissez vous d'autre module pour dessiner des graph que Tk::Graph? si possible pas trop lourd a installer, parceque l'affichage avec Tk::Graph n'est pas super. exemple (piece joint).

  4. #4
    Expert confirmé
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Par défaut
    Tu peux régler pas mal de truc dans Tk::Graph, tu devrais essayer.
    Sinon, GD génère des graphes, toujours pareil il faut un peu de configuration pour obtenir des choses sympas. Enfin Gnuplot est un logiciel extérieur pas mal utilisé pour faire des graphiques. Il y en a sans doute d'autres...

    --
    Jedaï

  5. #5
    Membre éclairé Avatar de etranger
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    333
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2004
    Messages : 333
    Par défaut
    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Debutant - Question de syntaxe "::" seuls devant u
    Par Caille dans le forum Débuter
    Réponses: 3
    Dernier message: 08/02/2006, 15h59
  2. Question de syntaxe
    Par dafalri dans le forum VB 6 et antérieur
    Réponses: 12
    Dernier message: 13/12/2005, 20h57
  3. [XML] Questions de syntaxe
    Par ghohm dans le forum XML/XSL et SOAP
    Réponses: 4
    Dernier message: 03/11/2005, 12h08
  4. question sur syntaxe d'une requete
    Par sparis dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 29/09/2005, 11h58
  5. [C linux makefile] question de syntaxe
    Par Ultros dans le forum Systèmes de compilation
    Réponses: 7
    Dernier message: 09/04/2004, 07h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo