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 :

Ajouter texte sur un matplotlib widget


Sujet :

Python

  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2018
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2018
    Messages : 116
    Par défaut Ajouter texte sur un matplotlib widget
    Bonjour à tous,

    J'ai un code (que je ne peux pas dévoiler entièrement ici) me permettant d'afficher une image dans une fenêtre PyQt5 grâce à une classe matplotlib widget. Dans cette même classe, j'ai une autre fonction qui me permet d'afficher des ronds sur cette image avec des coordonnées x et y. Dans un autre programme, j'ai une fonction qui appelle ma fonction dessinant mes ronds de ma classe.
    Jusqu'ici tout va bien. Maintenant ce que j'aimerais faire c'est afficher du texte sur chacun de mes ronds mais je n'y arrive pas.
    Voici mes différents codes :

    Celui-ci correspond à ma classe Matplotlib Widget avec ma fonction PlotDataPoints2 pour dessiner mes ronds que j'appelle dans le code en dessous de celui-ci:

    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
    class MatplotlibWidget1(Canvas):
        def __init__(self, parent=None, dpi=100, hold=False):
            super(MatplotlibWidget1, self).__init__(Figure())
            self.setParent(parent)
            self.figure = Figure(figsize=(100,100),dpi=dpi)
            self.canvas = Canvas(self.figure)
            self.theplot = self.figure.add_subplot(111)
            self.theplot.grid(False)
            self.theplot.spines['bottom'].set_visible(False)
            self.theplot.set_xticklabels([])
            self.theplot.set_xticks([])
            self.theplot.axes.get_xaxis().set_visible(False)
            self.theplot.spines['left'].set_visible(False)
            self.theplot.set_yticklabels([])
            self.theplot.set_yticks([])
            self.theplot.axes.get_yaxis().set_visible(False)
            self.theplot.set_xticklabels([])
            self.theplot.set_yticklabels([])
            # self.figure.tight_layout(rect=[None,None,None,0.75])
            self.theplot.imshow(img1,zorder=0,extent=[-111,111,-4,104])
     
        def plotDataPoints2(self, x, y,color):
            self.theplot.imshow(img1,extent=[-111,111,-4,104])
            circle=matplotlib.patches.Circle((x,y), 4, color='%s'%color,alpha=0.5)
            self.theplot.add_artist(circle)
            self.draw()

    Maintenant dans un autre programme j'ai ma fonction DessinerRond qui appel ma fonction DataPoints dans ma classe précédente :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    def DessinerRond(self, Nom, xx, yy):
        color='darkblue'
        self.ui.mplwidget1.plotDataPoints2(xx, yy, color)
     
    List=[['OK',-33,28],['BONJOUR',-33,15],['COUCOU',-33,45],['STOP',-33,65]]
     
    for j in range(len(List)):
        DessinerRond(self,List[j][0],List[j][1],List[j][2])
    Si je répète, mes ronds s'affichent bien sur mon image avec les bonnes coordonnées et la bonne couleur. Mais je n'arrive pas à afficher les noms à côté de ces ronds (OK, BONJOUR etc...).
    J'ai essayé avec self.theplot.annotate dans ma fonction PlotDataPoints2 mais rien ne s'affiche.

    Merci pour votre aide!

  2. #2
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2018
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2018
    Messages : 116
    Par défaut
    Finalement j'ai réussi avec self.theplot.text dans ma fonction de classe PlotDataPoints2!

Discussions similaires

  1. [XL-2016] Ajout texte sur PDF / pdfforge ne fonctionne pas
    Par lisaw9682 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 28/02/2020, 14h23
  2. ajout texte sur une courbe
    Par heliconet dans le forum Visio
    Réponses: 2
    Dernier message: 22/01/2008, 22h39
  3. [GD] ajouter un texte sur une image uniquement à l'impression signature numérique
    Par DrHelmut dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 05/10/2006, 16h13
  4. Comment ajouter une zone de texte sur excel?
    Par devlopassion dans le forum Excel
    Réponses: 2
    Dernier message: 03/09/2006, 13h12
  5. Ajouter du texte sur une vidéo
    Par ChIcKeN78 dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 01/06/2005, 10h43

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