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 :

Matplotlib et tkinter


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Décembre 2004
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 27
    Par défaut Matplotlib et tkinter
    Bonjour,

    Je souhaite afficher une courbe pyplot dans un canvas.
    Voici mon 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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
     
    from tkinter import *
    import numpy as np
    import matplotlib.pyplot as plt
     
    a,b,c=0,0,0
     
    def TracerGraphique():
      a=int(entryCoef1.get())
      b=int(entryCoef2.get())
      c=int(entryCoef3.get())
      x = np.linspace(-10, 10, 200)
      plt.plot(x, a*x**2+b*x+c)
      plt.show()
      plt.close()
     
    fenetre=Tk()
    fenetre.title("Polynome Second degré")
    fenetre.geometry("700x250+150+50")
    leftCanv = Canvas(fenetre, bg="blue", height=250, width=350)
    leftCanv.pack(side=LEFT)
    rightCanv = Canvas(fenetre, bg="yellow", height=250, width=350)
    rightCanv.pack(side=RIGHT)
     
    coef1=Label(leftCanv, text="donner coef x²: ", bg='yellow', fg='blue') #Affiche un text
    coef2=Label(leftCanv, text="donner coef x: ", bg='yellow', fg='blue')
    coef3=Label(leftCanv, text="Valeur de c : ", bg='yellow', fg='blue')
    coef1.place(x=10, y=20)
    coef2.place(x=10, y=50)
    coef3.place(x=10, y=80)
    entryCoef1=Entry(leftCanv)
    entryCoef2=Entry(leftCanv)
    entryCoef3=Entry(leftCanv)
    entryCoef1.place(x=140, y=20)
    entryCoef2.place(x=140, y=50)
    entryCoef3.place(x=140, y=80)
     
    boutonTracerGraphique=Button(leftCanv, text="Tracer graphique", font=("courrier",25), bg='yellow', fg='blue', command=TracerGraphique)
    boutonTracerGraphique.place(x=10, y=170)
     
    fenetre.mainloop()
    Quand je clique sur le bouton, après avoir renseigner les les coefficient, ma courbe s'affiche dans une fenetre matplotlib alors que je veux qu'elle s'affiche dans le canvas de droite (le jaune)
    Je sais que les couleurs sont mais c'est juste pour se repérer après tous sera uniforme
    Toute aide est le bien venu
    merci d'avance

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 738
    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 738
    Par défaut
    Salut,

    Vous avez des exemples qui montrent comment le faire dans la documentation de matplotlib.

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

  3. #3
    Membre averti
    Inscrit en
    Décembre 2004
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 27
    Par défaut
    Merci pour votre réponse.

    j'ai passé des heures et des heures à lire la documentation et chercher sur le net.

    j'ai trouver des exemples mais je n'ai pas pu les comprendre pour : de 1 mon anglais est très très faible pour ne pas dire nul et de deux je débute avec Python (un mois à peine).

    si possible de m'expliquer un peut par des bouts de code commentés.

    Merci encore.

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 738
    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 738
    Par défaut
    Salut,

    Citation Envoyé par achech Voir le message
    si possible de m'expliquer un peut par des bouts de code commentés.
    Il serait plus simple de dire ce que vous ne comprenez pas dans l'exemple (où il n'y a presque que du code).

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

  5. #5
    Membre averti
    Inscrit en
    Décembre 2004
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 27
    Par défaut
    la variable fig c'est quoi comme figure? elle correspond à quoi dans mon code? ou je dois la créer est la courbe?

    add_subplot j'ai compris le sens du 111 mais il faut le mettre comme ça? c'est pas la valeur par défaut ça. si ça été par exemple 222 ou 223 ou 212 je comprendrai
    et on plus on occupe tout le canvas. à quoi bon de fixé la figsize
    par contre la dpi je ne l'ai pas compris.

    les toolbars ? faut-il les installer? sachant que je n'ai pas d'environnement intallé. je code sur un site en ligne ("repl.it").

    j'ai trouvé d'autres exemples dont 1 me parait simple. je l'ai copier tel quel pour le tester avec des modifications pour le comprendre mais n'a pas fonctionnait. il utilise les processus qui meurt aussitôt donc j'ai abandonné et j'ai posté ma demande d'aide. voila le lien de ce code qui à planté avec moi.

    https://openclassrooms.com/forum/suj...ns-une-fenetre

  6. #6
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 738
    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 738
    Par défaut
    Salut,

    Citation Envoyé par achech Voir le message
    la variable fig c'est quoi comme figure? elle correspond à quoi dans mon code? ou je dois la créer est la courbe?
    Par défaut, .plot fabrique sa propre Figure dans laquelle s'affiche la courbe/déssin. Pour que cette Figure soit affichée dans un Canvas compatible matplotlib, il va falloir décomposer ce qui est fait par défaut.

    Citation Envoyé par achech Voir le message
    add_subplot j'ai compris le sens du 111 mais il faut le mettre comme ça? c'est pas la valeur par défaut ça. si ça été par exemple 222 ou 223 ou 212 je comprendrai
    Ca n'a pas d'autre sens que celui décrit dans la documentation: 111 c'est comme 1, 1, 1 et çà dit la case 1 d'une grille à 1 colonne et 1 ligne.

    Citation Envoyé par achech Voir le message
    les toolbars ? faut-il les installer? sachant que je n'ai pas d'environnement intallé. je code sur un site en ligne ("repl.it").
    Vous lancez le code sur votre site en ligne et vous regardez si çà marche ou pas...
    Et si vous ne voulez pas afficher les Toolbars, vous pouvez mettre en commentaire la partie du code correspondante.

    Citation Envoyé par achech Voir le message
    j'ai trouvé d'autres exemples dont 1 me parait simple. je l'ai copier tel quel pour le tester avec des modifications pour le comprendre mais n'a pas fonctionnait. il utilise les processus qui meurt aussitôt donc j'ai abandonné et j'ai posté ma demande d'aide.
    Les codes que vous trouvez dans les forums sont une bonne source d'inspiration mais quand il s'agit du code d'un débutant qui n'arrive pas à le faire marcher, il faut lire les réponses...

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

Discussions similaires

  1. Erreur d'affichage marche aleatoire, animation matplotlib et tkinter
    Par celineazerty dans le forum Calcul scientifique
    Réponses: 1
    Dernier message: 23/01/2017, 09h39
  2. Matplotlib et Tkinter
    Par Shokola dans le forum GUI
    Réponses: 0
    Dernier message: 06/07/2016, 11h24
  3. [Python 2.X] matplotlib et Tkinter
    Par Mathematician dans le forum Calcul scientifique
    Réponses: 7
    Dernier message: 20/10/2014, 21h12
  4. plot de Matplotlib sous Tkinter?
    Par Invité dans le forum Tkinter
    Réponses: 7
    Dernier message: 28/02/2011, 13h22
  5. [matplotlib][Tkinter] Conflit figure/Tk ?
    Par Panthère Bleue dans le forum Calcul scientifique
    Réponses: 2
    Dernier message: 12/07/2006, 08h48

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