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

Calcul scientifique Python Discussion :

[matplotlib] affichage dynamique


Sujet :

Calcul scientifique Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 15
    Par défaut [matplotlib] affichage dynamique
    Salut,

    Je cherche à tracer une courbe en temps réel avec matplotlib.

    J'ai vu comment actualiser les données déjà existantes sur un graph grâce à l'exemple http://matplotlib.sourceforge.net/examples/anim.py

    Mon problème est que mon programme va tourner pendant un temps indéfini. Je ne connais donc pas à l'avance la taille de mon axe x. Et je n'ai pas trouvé comment "l'agrandir" ...

    En gros je cherche à faire un graphe un peu comme dans les xTorrent lorsqu'on regarde l'évolution de la vitesse de download, actualisé toutes les x secondes.

    Merci,
    Stéphane

  2. #2
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Il y a ce système dans certains outils d'optimisation. Il me semble qu'un plot() est appelé à chaque itération, mais je n'en sais pas plus

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 15
    Par défaut
    Hum oki ...
    Peut-être est-ce plus facile à faire avec une autre bibliothèque ?? Je suis ouvert à toutes propositions :-)

    Merci !
    Stéphane

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 15
    Par défaut
    Pour info j'ai finalement fait ça avec un timer tout con et plot()
    Ca donne qqchose comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    while(run == 1):
        update()
        time.sleep(delay)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
        def update(self):
            self.figure.clf()
     
            graph = self.figure.add_subplot(111)
     
            for i in self.dataList:
                values = self.datasValues.get(i)
                if values != None:
                    graph.plot(values)
                    graph.grid(True)
     
            graph.legend(self.dataList, prop = FontProperties(size='smaller'))
     
            self.canvas.show()
    Si ça peut en aider certains ...

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 88
    Par défaut
    Chez moi, l'instruction show() est bloquante ...
    Ce qui fait qu'a partir du moment ou je fait un show(), plus aucune instruction ne s'exécute ... jusqu'à ce que je ferme la fenêtre.

    Tu n'as pas eut ce problème?

  6. #6
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    C'est normal, ça. Il faut que tu passes en mode interactif pour que ça marche.

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

Discussions similaires

  1. Problème d'affichage dynamique d'une liste
    Par bor1s dans le forum ASP
    Réponses: 2
    Dernier message: 18/11/2005, 16h18
  2. Probleme d'affichage dynamique de ma base
    Par kudawoo2002 dans le forum ASP
    Réponses: 3
    Dernier message: 18/11/2005, 09h22
  3. Réponses: 1
    Dernier message: 08/07/2005, 02h46
  4. [VB.NET] - affichage dynamique dans un tableau
    Par karibouxe dans le forum ASP.NET
    Réponses: 8
    Dernier message: 20/06/2005, 15h07
  5. affichage dynamique en fonction des données en base
    Par jengo dans le forum Bases de données
    Réponses: 1
    Dernier message: 28/10/2004, 10h22

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