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

  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 717
    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 717
    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 717
    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 717
    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 717
    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 717
    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

  7. #7
    Membre averti
    Inscrit en
    Décembre 2004
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 27
    Par défaut
    Salut,
    voila ce que j'ai pu faire mais en vain
    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
    42
    43
    44
    45
    46
    47
    48
    49
     
    import numpy as np
    import matplotlib.pyplot as plt
    from matplotlib.figure import Figure
    from matplotlib.backends.backend_tkagg import (
        FigureCanvasTkAgg, NavigationToolbar2Tk)
    from tkinter import *
     
    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)
    fig = Figure(figsize=(5, 4), dpi=100)
    x = np.linspace(-10, 10, 200)
    fig.add_subplot(111).plot(x, a*x**2+b*x+c)
    rightCanv = FigureCanvasTkAgg(fig, master=fenetre)  # A tk.DrawingArea.
    rightCanv.draw()
    rightCanv.get_tk_widget().pack(side=TOP, fill=BOTH, expand=1)
     
    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()

  8. #8
    Membre Expert Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Par défaut
    Qu'est-ce qu'il ne marche pas, le code? Il marche bien chez moi. Il faut lire et montrer le message d'erreur.

  9. #9
    Membre averti
    Inscrit en
    Décembre 2004
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 27
    Par défaut
    oui il marche sans erreur mais le graphique matplotlib(la courbe) ne s'affiche pas dans le canvas mais dans la fenetrre matplotlib qui s'affiche audessus du tkinter comme ci tkinter n'existe pas.
    alors que je veux que le graphique s'affiche dans le canvas de droite.

  10. #10
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 060
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 060
    Par défaut
    Une méthode semble expliquée sur le site officiel de Matplotlib, faudrait faire le test.

  11. #11
    Membre averti
    Inscrit en
    Décembre 2004
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 27
    Par défaut
    C'est gentil. Voilà l'erreur fourni par l'exemple que tu m'as fourni

    File "main.py", line 8, in <module>
    import matplotlib.backends.tkagg as tkagg
    ModuleNotFoundError: No module named 'matplotlib.backends.tkagg

    J'ai testé 1001 exemples. certains ne fonctionnent pas d'autre fonctionnent mais pas comme je veux dont l'exemple que j'ai posté ci dessus.
    J'ai passé 2 semaines à cherché sur le net et c'est le 3em forum celui ci. Personne n'a proposé une correction de mon code. Changer tel ligne ou tel mot par .... ou passer tel ligne après tellle ligne ou il faut utiliser cette commande ou ce mot clé à telle étape

    Merci pour toutes les aides. Je sais que vous n'êtes pas obligé mais je suis dégoutté d'avoir perdu 2 semaines pour un petit truc sans le réussir.

  12. #12
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 717
    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 717
    Par défaut
    Citation Envoyé par achech Voir le message
    J'ai passé 2 semaines à cherché sur le net et c'est le 3em forum celui ci. Personne n'a proposé une correction de mon code. Changer tel ligne ou tel mot par .... ou passer tel ligne après tellle ligne ou il faut utiliser cette commande ou ce mot clé à telle étape
    Il y a plein de méthodes pour faire ce que vous voulez faire... Mais il faut commencer par en décortiquer une et la comprendre pour imaginer comment l'adapter.

    Citation Envoyé par achech Voir le message
    Je sais que vous n'êtes pas obligé mais je suis dégoutté d'avoir perdu 2 semaines pour un petit truc sans le réussir.
    Comment voulez vous réussir un truc sans comprendre comment çà fonctionne? A la limite on peut le coder à votre place. Vous auriez un code que vous ne comprendrez pas plus que ceux que vous avez déjà trouvé. Ce qui ne vous servira à rien... sinon à vous répéter qu'il va encore falloir passer du temps à apprendre pour arriver à coder çà un jour par vous même.

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

  13. #13
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 060
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 060
    Par défaut
    Citation Envoyé par achech Voir le message
    C'est gentil. Voilà l'erreur fourni par l'exemple que tu m'as fourni

    File "main.py", line 8, in <module>
    import matplotlib.backends.tkagg as tkagg
    ModuleNotFoundError: No module named 'matplotlib.backends.tkagg
    Et biensûr en copiant collant le message d'erreur sur votre moteur de recherches préféré, vous avez trouvé le premier lien proposé -> https://stackoverflow.com/questions/...-backend-tkagg

  14. #14
    Membre averti
    Inscrit en
    Décembre 2004
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 27
    Par défaut
    l'exemple proposé par fred (sur le site de matplotlib est censé fonctionné) a généré cette erreur.

    """File "main.py", line 8, in <module>
    import matplotlib.backends.tkagg as tkagg
    ModuleNotFoundError: No module named 'matplotlib.backends.tkagg"""

    Comment un débutant comme moi peux y remédier. je comprend l'erreur que ce module est inexistant. ce qui me fait penser à 2 hypothèses
    * erreur dans le nom: je ne pense pas car de une la source est le site officiel de matplotlib et de 2 je l'ai vu sur plein d'exemples. donc cette hypothèse a écarté.
    * 2eme hypothèse la bibliothèque contenant ce module me manque. La quelle? pour que je puisse l'importé? pourquoi n'est pas importé dans l'exemple? comme l'exemple doit fonctionner?

    j'ai vu sur des sites qu'il faut installer des choses. moi je n'ai installé aucun interpréteur (ni spyder ni anaconda in eduPhyton, Visual Studio Code, Pyzo, Thonny non plus). Je code sur un site en ligne "repl.it"

    donc c'est quoi la solution pour ce module. le supprimer (mettre en commentaire) il faut supprimer et/ou modifier plein de ligne de code en conséquence et j'ai déja essayé du coup je n'ai pas obtenu le résultat attendu.

    est ce que c'est ça le problème? et comment y remédier? je suis incapable de répondre à cette question.

  15. #15
    Membre averti
    Inscrit en
    Décembre 2004
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 27
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    ...A la limite on peut le coder à votre place...

    - W
    c'est pas ça que j'ai demandé. j'ai demandé des élements de correction de ce que existe ou des indications de ce qui manque. et le pourquoi du comment pour comprendre et progresser

  16. #16
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 060
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 060
    Par défaut
    Citation Envoyé par achech Voir le message
    l'exemple proposé par fred (sur le site de matplotlib est censé fonctionné) a généré cette erreur.

    """File "main.py", line 8, in <module>
    import matplotlib.backends.tkagg as tkagg
    ModuleNotFoundError: No module named 'matplotlib.backends.tkagg"""
    Selon la configuration d'un fichier de matplotlib, ça peut changer avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    import matplotlib.backends.backend_tkagg as tkagg
    Pour les débutants ne mettons pas tout le monde dans le même panier. J'ai été débutant avant vous, et si j'ai posé 10 questions dans un forum en 15 ans, je suis gentil, j'ai commencé par le commencement, c'est à dire apprendre la programmation informatique, en lisant un bouquin, en faisant de multiples petits tests, avant de commencer à voir un peu plus grand. Faîtes vos choix pour débuter, et assumez votre manière de commencer le développement, qui est une manière peu orthodoxe dans ce monde.

  17. #17
    Membre averti
    Inscrit en
    Décembre 2004
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 27
    Par défaut
    Citation Envoyé par fred1599 Voir le message
    Pour les débutants ne mettons pas tout le monde dans le même panier. J'ai été débutant avant vous, et si j'ai posé 10 questions dans un forum en 15 ans, je suis gentil, j'ai commencé par le commencement, c'est à dire apprendre la programmation informatique, en lisant un bouquin, en faisant de multiples petits tests, avant de commencer à voir un peu plus grand. Faîtes vos choix pour débuter, et assumez votre manière de commencer le développement, qui est une manière peu orthodoxe dans ce monde.
    Ok j'ai compris. j'ai posté trop tot je retire ma question. promis, je ne poste plus avant 15 ans puisque les forums ne sont fait que pour les pros. pas les débutants.

  18. #18
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 060
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 060
    Par défaut
    Ne prenez pas mal ce que je dis, mais vous posez des questions dont les réponses seront, mais pourquoi ? Car si vous utilisez un module comme matplotlib ou tkinter, c'est que vous avez un minimum de connaissances en python... Alors oui, on pose des questions, mais pas sans avoir les pré-requis pour comprendre les réponses à vos questions. Difficile à accepter ou pas, le problème est récurrent sur tout les forums.

  19. #19
    Membre Expert Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Par défaut
    @achech
    oui il marche sans erreur mais le graphique matplotlib(la courbe) ne s'affiche pas dans le canvas mais dans la fenetrre matplotlib qui s'affiche audessus du tkinter comme ci tkinter n'existe pas.
    alors que je veux que le graphique s'affiche dans le canvas de droite.
    Oui, c'est vrai. J'ai pu regarder le code plus en détail et je peux dire le code n'est pas très correct même on relaxe un peu ce qu'on veut comme fonctionalité décrite. Je n'entends pas à m'en y méler trop.

    Voici ce que je peux faire à réécrire le code pour y arriver basé sur les versions de python assez à jour. Et j'espère pour ce faire de le mettre plus correct dans certaine détail aussi.
    Code python3 : 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
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    import numpy as np
    import matplotlib.pyplot as plt
    from matplotlib.figure import Figure
    from matplotlib.backends.backend_tkagg import (
        FigureCanvasTkAgg, NavigationToolbar2Tk)
    from tkinter import *
     
    #a,b,c=0,0,0
    def TracerGraphique(*args):
        a=int(args[0])
        b=int(args[1])
        c=int(args[2])
        canv=args[3]
     
        #fig = Figure(figsize=(5, 4), dpi=100)
        fig=Figure(figsize=(3,2), dpi=100)
        ax=fig.add_subplot(111)
        x=np.linspace(-10, 10, 200)
        ax.plot(x, a*x**2+b*x+c)
        canv=FigureCanvasTkAgg(fig, master=canv)
        canv.draw()
     
        #rightCanv.get_tk_widget().pack(side=TOP, fill=BOTH, expand=1)
        canv.get_tk_widget().grid(row=1)
     
    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)
     
    ''' enlever tout ça, c'est du pastiche
    rightCanv = Canvas(fenetre, bg="yellow", height=250, width=350)
    rightCanv.pack(side=RIGHT)
    fig = Figure(figsize=(5, 4), dpi=100)
    x = np.linspace(-10, 10, 200)
    fig.add_subplot(111).plot(x, a*x**2+b*x+c)
    rightCanv = FigureCanvasTkAgg(fig, master=fenetre)  # A tk.DrawingArea.
    rightCanv.draw()
    rightCanv.get_tk_widget().pack(side=TOP, fill=BOTH, expand=1)
    '''
     
    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=Button(leftCanv, text="Tracer graphique", 
        font=("courrier",25), bg='yellow', 
        fg='blue', 
        command=lambda: TracerGraphique(entryCoef1.get(), entryCoef2.get(), entryCoef3.get(), rightCanv)
        )
     
    boutonTracerGraphique.place(x=10, y=170)
     
    fenetre.mainloop()

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