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 :

Graphique Dynamique tkinter + malplotlib


Sujet :

Python

  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Octobre 2006
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2006
    Messages : 108
    Par défaut Graphique Dynamique tkinter + malplotlib
    Bonjour,
    Actuellement en cours de développement d'un script pour récupérer des données via une commande SSH + script en local, j'aimerai faire l'affichage des informations (Numérique) sur un graphique en mode dynamique avec rafraîchissement auto.

    Déja fonctionnelle :
    - Connexion ssh + mise ne vairable des informations .
    - Affichage des données après scan via regex pour centrer les informations utiles.

    Proposition :
    - Test avec Matplotlib pour faire un affichage dynamique mais le graphique n'évolue pas.
    - Test avec sauvegarde du graphique en png puis lecture des image, mais idem pas d'affichage. L'affichage évolutif est possible lorsque j'ouvre une image sur l'explorateur.

    Code d'ouverture :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    def start(ip, cmd):
                proc = Popen(
                    TEMPLATE.format(ip, ip, cmd),
                    stdout=PIPE, stderr=STDOUT, text=True, shell=True,
                   )
                return proc
    Code de récupération des informations :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    while 1:
                text = test.stdout.readline()[:-1]
                reg = re.findall(r"current : (-[0-9].[0-9]+|[0-9].[0-9]+)", text)
                if reg : current1.append(reg[0])
    Code de création d'images :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
        plt.plot(current1)
     
                plt.savefig(str(directory )+ "/" + str(j) +".png")
                j+=1
                if j ==10: j =0
    Affichage :

    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
    directory = Path(__file__).parent
     
     
    fenetre = Tk()
     
    im = cv2.imread(str(directory )+ "/1.png")
    h,w,c = im.shape
    x = h*1.33
    y = w*0.75
    width = fenetre.winfo_screenwidth()
    height = fenetre.winfo_screenheight()
    #fenetre.configure(width=width//2, height=height//2)
    fenetre.configure(width=x, height=y)
    canvas = Canvas(fenetre, width=x, height=y)
     
    i = 0
    j = 0
    while TRUE:
     
     
        photo = PhotoImage(file=str(directory )+ "/" + str(j) +".png")
        canvas.create_image(0, 0,anchor = NW,  image=photo)
        j +=1
        if j ==10: j=0
     
        canvas.pack()
        fenetre.mainloop()
    Questions :
    - Est ce que Matplot lib est bien adapté pour faire cela ?
    - Existe-t-il une libriarie plus adaptée?
    - N'étant pas expert en python, il est fort probable que ma démarche pour réaliser cela ne soit plus la plus optimal, comment puis-je corriger cela?

    D'avance merci.

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 681
    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 681
    Par défaut
    Citation Envoyé par Hybride76 Voir le message
    Questions :
    - Est ce que Matplot lib est bien adapté pour faire cela ?
    - Existe-t-il une libriarie plus adaptée?
    - N'étant pas expert en python, il est fort probable que ma démarche pour réaliser cela ne soit plus la plus optimal, comment puis-je corriger cela?
    Ce genre de fonctionnalité se réalise via animate et vous avez des tas d 'exemples tutos sur Internet (comme celui-ci ou peut être celui-là sorti de la documentation).
    A vous de vous adapter aux possibilités des outils que vous utilisez...

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

Discussions similaires

  1. [ACCESS] Etats graphiques dynamiques
    Par fredrider dans le forum IHM
    Réponses: 7
    Dernier message: 20/07/2006, 18h32
  2. [Image] Graphique dynamique
    Par navis84 dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 23/05/2006, 09h15
  3. [Map] comment generer une interface graphique dynamiquement?
    Par hby dans le forum Interfaces Graphiques en Java
    Réponses: 7
    Dernier message: 20/04/2006, 16h01
  4. [Librairies] Graphique dynamique
    Par piloup dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 01/12/2005, 19h56
  5. Interface graphique dynamique
    Par gmonta dans le forum Windows Forms
    Réponses: 7
    Dernier message: 05/10/2005, 14h47

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