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

Python Discussion :

Affichage de texte dynamique dans un graphique dynamique [Python 3.X]


Sujet :

Python

  1. #1
    Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2015
    Messages : 3
    Points : 4
    Points
    4
    Par défaut Affichage de texte dynamique dans un graphique dynamique
    bonjour à toutes et tous,
    je sollicite votre aide pour un petit problème d'affichage. Pour un projet de gestion de la température d'un four d'émaillage raku, je dois gérer la montée en température du four. Jusqu'à présent, j'utilisais un multimètre en fonction thermomètre couplé à une sonde K avec un minuteur. C'est guère pratique d'autant que le thermomètre se met en veille plusieurs fois avant la fin de la cuisson.
    Je veux donc travailler avec un raspberry pi 2B couplé à une sonde de même nature avec son contrôleur et j'ai un écran tactile 7" permettant l'affichage. Je vais donc acquérir régulièrement la température dans le four et je veux afficher :
    1. la courbe Temp(t)
    2. les valeurs de Temp(t) et dTemp/dt (variation en fonction du temps) dans un coin du graphique

    j'ai repris un code basique trouvé sur Reddit pour afficher dynamiquement une courbe (ici sinusoïde):

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    import numpy as np
    import matplotlib.pyplot as plt
    import matplotlib.animation as animation
     
    k = 2*np.pi
    w = 2*np.pi
    dt = 0.01
     
    xmin = 0
    xmax = 3
    nbx = 100
     
    x = np.linspace(xmin, xmax, nbx)
     
    fig = plt.figure() # initialise la figure
    line, = plt.plot([],[]) 
    plt.xlim(xmin, xmax)
    plt.ylim(-1,1)
     
    # fonction à définir quand blit=True
    # crée l'arrière de l'animation qui sera présent sur chaque image
    def init():
        line.set_data([],[])
        return line,
     
    def animate(i): 
        t = i * dt
        y = np.cos(k*x - w*t)
        plt.text(0.25,0.75,str(ydata[-1]))
        line.set_data(x, y)
        return line,
     
    ani = animation.FuncAnimation(fig, animate, init_func=init, frames=100, blit=True, interval=10, repeat=False)
     
    plt.show()
    je voudrais qu'à chaque tour plt soit modifié par plt.txt avec un texte mis à jour dynamiquement
    Je suis preneur de toute suggestion permettant de résoudre ce problème. Merci d'avance,
    PB

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Salut,

    Citation Envoyé par pbigen Voir le message
    Je suis preneur de toute suggestion permettant de résoudre ce problème.
    Si vous aviez cherché un peu sur Internet, vous auriez sans doute trouvé la méthode .set_text (et des exemples d'utilisation).

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2015
    Messages : 3
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Salut,



    Si vous aviez cherché un peu sur Internet, vous auriez sans doute trouvé la méthode .set_text (et des exemples d'utilisation).

    - W
    bonjour wiztricks,
    c'est bien parce que je ne trouvais pas avec Internet quelque chose qui fonctionnait que je me suis tourné vers ce forum. La méthode set_text que vous préconisez ne peut être utilisée avec la variable line gérée par la fonction animate.
    Je comprends maintenant que me tourner vers ce forum était une erreur, je pense qu'on y trouve plus de donneurs de leçons que d'aidants. Donc, ne plus en faire partie ne sera pas une grosse perte pour moi. Bon vent

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Citation Envoyé par pbigen Voir le message
    La méthode set_text que vous préconisez ne peut être utilisée avec la variable line gérée par la fonction animate.
    N'importe quoi:
    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    import numpy as np
    import matplotlib.pyplot as plt
    import matplotlib.animation as animation
     
    k = 2*np.pi
    w = 2*np.pi
    dt = 0.01
     
    xmin = 0
    xmax = 3
    nbx = 100
     
    x = np.linspace(xmin, xmax, nbx)
     
    fig = plt.figure() # initialise la figure
    ax = fig.add_subplot(111)
    line, = plt.plot([],[]) 
    plt.xlim(xmin, xmax)
    plt.ylim(-1,1)
     
    # fonction à définir quand blit=True
    # crée l'arrière de l'animation qui sera présent sur chaque image
    def init():
        line.set_data([],[])
        return line,
     
    def animate(i): 
        t = i * dt
        y = np.cos(k*x - w*t)
        text.set_text('xxxx' + str(i))
        line.set_data(x, y)
        return line, text
     
    ani = animation.FuncAnimation(fig, animate, init_func=init, frames=100, blit=True, interval=10, repeat=False)
    text = ax.text(0,0,'xxxx')
    plt.show()
    et vous devriez constater que çà marche.

    Citation Envoyé par pbigen Voir le message
    Je comprends maintenant que me tourner vers ce forum était une erreur, je pense qu'on y trouve plus de donneurs de leçons que d'aidants.
    Si c'est juste pour vous aider à ne pas essayer d'apprendre à utiliser matplotlib en ouvrant une documentation, en essayant de comprendre des exemples, ...
    Ici c'est la notion d'artist qui est importante. Si vous n'avez pas essayé de la comprendre, difficile de vous l'expliquer "mieux" que c'est déjà dans la documentation ou les tutos.

    Sans un minimum de base, vous ne saurez pas quoi chercher sur Internet ou d'identifier que ce qui passe devant vos yeux pourrait être une solution.

    Après si pour vous programmer, c'est juste arriver à faire marcher un truc en le recopiant sans trop comprendre comment çà marche et demander de l'aide pour qu'on finisse le boulot...

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

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

Discussions similaires

  1. Affichage de texte dynamique formaté html
    Par Julien Bodin dans le forum BIRT
    Réponses: 3
    Dernier message: 12/07/2010, 11h22
  2. [COM] Affichage de texte RTF dans une page web
    Par marieannette dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 24/02/2009, 10h03
  3. Texte caché dans un graphique Access
    Par alexandrebergercyr dans le forum IHM
    Réponses: 4
    Dernier message: 06/03/2007, 14h23
  4. Affichage de texte incomplet dans OnDrawItem
    Par Sunchaser dans le forum C++Builder
    Réponses: 4
    Dernier message: 24/01/2006, 18h03
  5. [MX 2004] Affichage du texte dynamique
    Par caramel dans le forum Flash
    Réponses: 8
    Dernier message: 29/01/2004, 16h07

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