FAQ Perl/TkConsultez toutes les FAQ
Nombre d'auteurs : 3, nombre de questions : 86, dernière mise à jour : 24 mai 2013 Ajouter une question
Bienvenue sur la FAQ Perl/Tk. Cette FAQ a pour vocation de vous enseigner ou de vous faire revoir les notions de Perl/Tk. N'hésitez pas à utiliser le moteur de recherche.
Vous souhaitez participer à l'amélioration de cette FAQ, n'hésitez pas !! Commentez
Bonne lecture !
Pour créer des graphes avec des courbes, des barres (histogrammes), des aires, des nuages de points, des boxplots, il existe quelques modules sur le CPAN permettant de le faire en Perl/TK :
Tk::LineGraph : permet de créer des graphes sous forme de lignes. Il est possible de zoomer. L'inconvénient de ce module est qu'il crée un widget à part avec un menu. Il est donc difficile de l'utiliser pour générer un graphe et de l'insérer dans son canevas.
Tk::PlotDataset : est basé sur le module Tk::LineGraph, le graphe ne se crée plus dans un widget séparé. Il est donc possible de créer sa courbe dans le canevas voulu. Il ne peut générer que des courbes (lignes).
Tk::Graph : permet de créer un graphique en temps réel en appelant une procédure par intervalle. Il est possible de créer des courbes, diagrammes en barres et hbar, et des camemberts. Son inconvénient peut être le design et surtout le fait qu'au niveau de l'axe x, on ne peut pas utiliser des données qualitatives. Il utilise les axes x et y au sens mathématique.
Tk::Chart : permet de créer des courbes (courbes de Bézier ou non), des diagrammes en barres (histogrammes), des lignes, des aires, des camemberts et même des boxplots.
Il crée les images comme GDGraph, à la seule différence qu'elles sont dans un widget Canvas et qu'elles sont interactives. Avec ce module, il est possible de tracer des variables quantitatives en fonction de variables qualitatives. Il nous donne la possibilité de zoomer l'image verticalement, horizontalement ou les deux. On peut jouer avec le design et n'afficher que quelques éléments du graphe. Voici un exemple de ce que l'on peut faire avec ce module :
Autre solution : Vous pouvez créer une image via une multitude de modules du CPAN, comme par exemple GDGraph et ensuite l'afficher dans votre widget. Cela fonctionne très bien pour de petites images. Le seul inconvénient est que l'image n'est pas interactive et qu'elle peut être très longue à charger dans le widget si cette dernière est de grande taille.
Il est simple d'afficher un GIF animé grâce au module Tk::Animation. Je vous conseille d'installer également le module Image::Info comme il est stipulé dans la documentation du module.
Voici un exemple de code :
Code perl : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | #!/usr/bin/perl use strict; use warnings; use Tk; use Tk::Animation; my $mw = MainWindow->new( -title => "Tk::Animmation", -background => 'white' ); my $animation = $mw->Animation( -format => 'gif', -file => 'VotreGif.gif' ); my $nbr_frame = $#{ $animation->{'_frames_'} }; $animation->add_frame($animation); $animation->start_animation(); $animation->set_image( 0 .. $nbr_frame ); # Affichons, l'image dans un label $mw->Label( -image => $animation, )->pack; MainLoop; |
Proposer une nouvelle réponse sur la FAQ
Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour çaLes sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2024 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.