Partage
  • Partager sur Facebook
  • Partager sur Twitter

Inserer le graphique Matplotlib dans tkinter

Matplotlib et tkinter

    16 septembre 2021 à 15:58:57

    Bonjour à tous !

    Suis bloquer dans mon travail de développement d'un logiciel en python.

    Je souhaite afficher le graphique matplotlib issus de mon datagramme sur ma fenêtre tkinter.

    Voici l'extrait de mon code python:

    conn = bd.connect(
                host = "localhost",
                user = "root",
                password = "mask",
                database = "data"
            )
    df = pd.read_sql_query("SELECT modele, SUM(Quantite) AS Qty FROM eMarque 
    INNER JOIN eModele ON eMarque.marqueID = eModele.marqueID 
    INNER JOIN PrixEntry ON eModele.modeleID = PrixEntry.modeleID GROUP BY modele"conn)

    #print(df['Qty'])

    modeles = df['modele']
    quantite = df['Qty']
    plt.xticks(rotation = '90')
    plt.bar(modelesquantitecolor = cm.rainbow(np.linspace(01len(modeles))))
    plt.show()
    Je souhaite afficher le graphique sur tkinter. 
    Merci pour vos différentes réponse.
    • Partager sur Facebook
    • Partager sur Twitter
      16 septembre 2021 à 16:41:20

      Oui ! J'avais vu différente réponses mais je n'arrive pas à l'utiliser pour mon cas. 

      Si vous avez une réponse pour moi, svp j'en ai besoin pour apprendre et avancer.

      Merci !

      • Partager sur Facebook
      • Partager sur Twitter
        16 septembre 2021 à 17:02:01

        tu en étais arrivé à ce genre de code au moins ?

        import tkinter as tk
        from matplotlib.figure import Figure
        from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
        
        # ajouter les autres imports et lignes de code non fournies
        
        conn = bd.connect(
                    host = "localhost",
                    user = "root",
                    password = "mask",
                    database = "data"
                )
        df = pd.read_sql_query("SELECT modele, SUM(Quantite) AS Qty FROM eMarque 
        INNER JOIN eModele ON eMarque.marqueID = eModele.marqueID 
        INNER JOIN PrixEntry ON eModele.modeleID = PrixEntry.modeleID GROUP BY modele", conn)
        
        #print(df['Qty'])
        
        modeles = df['modele']
        quantite = df['Qty']
         
        app = tk.Tk()
        app.wm_title("Graphe Matplotlib dans Tkinter")
        
        fig = Figure(figsize=(6, 4), dpi=96)
        ax = fig.add_subplot(111)
        ax.xticks(rotation = '90')
        ax.bar(modeles, quantite, color = cm.rainbow(np.linspace(0, 1, len(modeles))))
         
        graph = FigureCanvasTkAgg(fig, master=app)
        canvas = graph.get_tk_widget()
        canvas.grid(row=0, column=0)
         
        app.mainloop()
        • Partager sur Facebook
        • Partager sur Twitter
          16 septembre 2021 à 17:24:07

          Oui ! Sauf pour la ligne 28

          -
          Edité par RodrigueNsinsulu3 16 septembre 2021 à 17:30:47

          • Partager sur Facebook
          • Partager sur Twitter
            16 septembre 2021 à 19:40:19

            et donc ? ça fonctionne? ça ne fonctionne pas ? un message d'erreur ?
            • Partager sur Facebook
            • Partager sur Twitter

            Inserer le graphique Matplotlib dans tkinter

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown