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 :

integratio de matplotlib dans un gui


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    retraité defense
    Inscrit en
    Janvier 2024
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : retraité defense
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2024
    Messages : 30
    Par défaut integratio de matplotlib dans un gui
    bonjour
    je rencontre un problème dans l'intégration d'un graphe matplotlib dans un gui tkinter
    Le programme fonctionne mais il n'apparait que dans la console .
    J 'ai essayé d'écumer la doc sur les 'plot' mais les exemples fournis sont complexes et
    je n'arrive pas a dégager des principes simples adaptés a mon cas .. d'où mon appel :
    Il s'agit d'un script qui récupère un fichier txt et le reproduit en histogrammes représentant
    la fréquence des lettres ...
    je voudrais qu'il aboutisse dans mon 'frame2'
    dans le source joint j ai désactivé la partie ''plot'
    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
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    import tkinter 
    from tkinter import*
    import tkinter as tk
    import re, string
    from PIL import Image, ImageTk
    from tkinter import filedialog
    from unidecode import unidecode
    from tkinter.scrolledtext import ScrolledText
    import numpy as np
    import matplotlib.pyplot as plt
    #--------------------                                                                 Main Window
    #----------------------------------------------------
    root = tk.Tk()
    root.title("            Python Crypto    esssai     GUI-005") # nom du script(((((((
    root.geometry('1230x850+80+80') # taille box
    #------------------------------------- creation------View gui -----------avec scroll   BOX1 
    txt1 = ScrolledText(root, border=3,  bg="tan1",)
    txt1.config(borderwidth=2, relief="raised", 
                height=10 , width=45, font=('Arial',12,'bold',))
    txt1.place(x=30,y=90)
    #--------------------------------------------------------------------------------------       FRAME2         BOX 2
    frame2=Frame(root,bg = "grey25",width=500,  
                 height=310,border=3, cursor = "target",highlightbackground='gray60',highlightthicknes=2)
    frame2.place(x=600,y=80)
     
    ##def openFile():
    ##    tf = filedialog.askopenfilename(
    ##    initialdir="C:/Users/MainFrame/Desktop/",
    ##    title="Ouvrir fichier",
    ##    filetypes=(("Text Files", "*.txt"),))
    ####    pathh.insert(tk.END, tf)
    ##    tf = open(tf,mode="r", encoding="utf-8")
    ##    file_cont = tf.read()
    ##    komp = len(file_cont)
    ##    txt1.delete("1.0", "end-1c")
    ##    txt1.insert(tk.END, file_cont) 
    ##    tf.close()
    #---------------------
    #  Portion  PLOT
    text_file = 'fr-txt.txt'
    #text_file = txt1.get("1.0","end-1c") 
     
    letters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
    # Initialize the dictionary of letter counts: {'A': 0, 'B': 0, ...}
    lcount = dict([(l, 0) for l in letters])
     
    # Lecture du txt & compteles  occurences
    for l in open(text_file).read():
        try:
            lcount[l.upper()] += 1
        except KeyError:
            # Ignore characters that are not letters
            pass
    # The total number of letters
    norm = sum(lcount.values())
    text_file
    #---------------------
    fig = plt.figure()
    ax = fig.add_subplot(111)
    # The bar chart, with letters along the horizontal axis and the calculated
    # letter frequencies as percentages as the bar height
    x = range(26)
    ax.bar(x, [lcount[l]/norm * 100 for l in letters], width=0.8,
           color='g', alpha=0.5, align='center')
    ax.set_xticks(x)
    ax.set_xticklabels(letters)
    ax.tick_params(axis='x', direction='out')
    ax.set_xlim(-0.5, 25.5)
    # ------------------------------------Bouton actif
    btnDec=Button(root,text=" go",bg='violetred', fg='goldenrod1',     )
    btnDec.config(borderwidth=2, relief="raised",  width=12,
                height=1, font=('Arial',12,'bold',))
    btnDec.place(x=840,y=480)
    # ----------------------------------FINEX    ------------ 
    tk.mainloop()
    merci de votre attention

  2. #2
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 063
    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 063
    Par défaut
    Hello,

    Citation Envoyé par RAMEX
    Il s'agit d'un script qui récupère un fichier txt et le reproduit en histogrammes représentant
    la fréquence des lettres ...
    Un graph comme celui-ci par ex. ?

    Nom : Capture d’écran_2024-04-11_18-18-45.png
Affichages : 115
Taille : 10,6 Ko

  3. #3
    Membre actif
    Homme Profil pro
    retraité defense
    Inscrit en
    Janvier 2024
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : retraité defense
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2024
    Messages : 30
    Par défaut integration matplot
    OUI
    j'en ai trouvé plein sur le web mais la manip est toujours obscure

    Si tu lances le pgm le graphe s'affiche dans la console ....

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

    Citation Envoyé par RAMEX Voir le message
    J 'ai essayé d'écumer la doc sur les 'plot' mais les exemples fournis sont complexes et je n'arrive pas a dégager des principes simples adaptés a mon cas ..
    Vous aviez déjà posé la question dans cette discussion. Et je vous avais indiqué un exemple dans la gallerie matplotlib qui montre comment faire.

    De fait, le code que vous avez posté ne contient même pas les import minima qui indiqueraient que vous avez essayé d'en faire quelque chose. Qu'avez vous étudié avant de vous lancer la dedans et redemander de l'aide? Mystère.

    Pour le reste, oui c'est compliqué et il faut y passer du temps mais si vous voulez avancer, il faut comment par étudier les exemples qui sont déjà là et, le cas échéant poser des questions sur ce que vous ne comprenez pas.
    Et tant que vous n'aurez pas essayé de comprendre par vous même, vous serez coincé....

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

Discussions similaires

  1. Supprimer des objets dans un GUI
    Par Flashget dans le forum Interfaces Graphiques
    Réponses: 2
    Dernier message: 22/03/2007, 10h45
  2. Plot dans une GUI
    Par AsmaHaj dans le forum Interfaces Graphiques
    Réponses: 2
    Dernier message: 20/03/2007, 21h01
  3. Problème avec 'light' sur un patch dans un GUI
    Par pierolapuree dans le forum Interfaces Graphiques
    Réponses: 1
    Dernier message: 16/02/2007, 14h35
  4. Organiser l'ordre des tabulations dans un GUI
    Par FredPsy dans le forum AWT/Swing
    Réponses: 9
    Dernier message: 22/01/2007, 09h42
  5. Réponses: 1
    Dernier message: 31/07/2006, 13h54

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