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 :

Graphique point par point


Sujet :

Calcul scientifique Python

  1. #1
    Nouveau membre du Club
    Graphique point par point
    Bonjour à tous,

    Habituellement, quand on trace un graphique, tous les points s'affichent en même temps. Je souhaite faire un programme où les points apparaissent au fur et à mesure sur le graphique avec un délai de par exemple, 2 secondes, entre chaque point.

    Pour cela, j'ai testé le code suivant:

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     
     
    import matplotlib.pyplot as plt
    import time
     
    x = [1, 3, 5]
    y = [1, 6, 10]
     
    for i in range(0,3):
       plt.plot(x[i], y[i], "ro")
       plt.show()
       time.sleep(2)


    J'utilise Spyder avec une sortie automatique. Quand j'exécute ce code, j'ai une fenêtre blanche pendant 6 secondes, et le graphique complet apparaît ensuite....Ce n'est pas ce que je recherche.
    Est-ce possible de faire apparaître sur un même graphique les points, un par un ? Si oui, un petit coup de main sera le bienvenu et apprécié...
    Merci de votre aide par avance.

  2. #2
    Expert éminent sénior
    Salut,

    Citation Envoyé par Olivier20000 Voir le message
    Est-ce possible de faire apparaître sur un même graphique les points, un par un ? Si oui, un petit coup de main sera le bienvenu et apprécié...
    Ca s'appelle une animation. Vous commencer par regarder dans la documentation de matplotlib comment faire une animation et si les exemples donnés ne vous suffisent pas chercher sur Internet...

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

  3. #3
    Nouveau membre du Club
    Je viens de trouver la réponse à ma propre question....
    J'ai trouvé la réponse à ma propre question.....en utilisant ce code:

    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
    import matplotlib.pyplot as plt
     
    plt.ion()
     
    x = [1, 3, 5]
    y = [1, 6, 10]
     
    for i in range(0,3):
       plt.xlim(0,8)
       plt.ylim(0,12)
       plt.plot(x[i], y[i], "ro")
       plt.pause(2)
     
     
    plt.show()


    C'est efficace !

  4. #4
    Membre expert
    Salut,

    Ah j'avais besoin aussi de tracer une courbe point par point, j'avais essayé les exemples qu'on trouve ici et là mais sans succès à part un code (mais je ne l'ai pas ici)...

    Citation Envoyé par Olivier20000 Voir le message

    C'est efficace !
    J'ai testé, cela fonctionne mais dommage que la fenêtre se ferme à la fin...

  5. #5
    Nouveau membre du Club
    La fenêtre reste ouverte...
    Bonjour,

    Non, la fenêtre reste ouverte pour moi à la fin....

    Avez-vous bien recopié la dernière ligne: plt.show() ??

    Cordialement,


    Citation Envoyé par Beginner. Voir le message
    Salut,

    Ah j'avais besoin aussi de tracer une courbe point par point, j'avais essayé les exemples qu'on trouve ici et là mais sans succès à part un code (mais je ne l'ai pas ici)...

    J'ai testé, cela fonctionne mais dommage que la fenêtre se ferme à la fin...

  6. #6
    Membre expert
    Citation Envoyé par Olivier20000 Voir le message

    Avez-vous bien recopié la dernière ligne: plt.show() ??
    Oui j'ai bien cette ligne... Bizarre...

###raw>template_hook.ano_emploi###