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

PyQt Python Discussion :

[Qwt] mise à jour de l'axe des ordonnées


Sujet :

PyQt Python

  1. #1
    Membre averti
    Femme Profil pro
    Ingénieur informatique scientifique
    Inscrit en
    Mai 2010
    Messages
    313
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur informatique scientifique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2010
    Messages : 313
    Points : 301
    Points
    301
    Par défaut [Qwt] mise à jour de l'axe des ordonnées
    Bonjour,

    j'ai une application comprenant un widget CurveWidget, afin d'afficher une courbe 2D.
    L'application contient également un champ de saisie "offset": je voudrais que lorsque l'utilisateur tape une valeur dans ce champ, cette valeur soit ajoutée à tous les points de la courbe.

    Par exemple j'initialise la courbe comme ceci avec des listes de valeurs x et y:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    self.courbe = make.curve(self.x, self.y, "Exemple", QtGui.Color(0,0,255))
    Et lorsque une nouvelle valeur est entrée dans le champ de saisie (0 au démarrage), j'appelle une méthode updateCourbe:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    offset = float(self.lineEditOffset.text())
    newValues = [elt+offset for elt in self.y]
    self.courbe.set_data(self.x, newValues)
    self.courbe.plot().replot()
    Or lorsque je mets la courbe à jour, l'axe des ordonnées ne suit pas et je ne vois donc plus ma courbe (elle est hors de la grille visible). Je ne comprends pas pourquoi car d'après la doc, l'appel à replot() doit gérer la mise a jour des axes
    J'ai essayé de le faire manuellement en ajoutant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    self.courbe.plot().setAxisScale(Qwt.QwtPlot.yLeft, newValues[0], newValues[-1])
    Mais cela ne fait aucune différence.
    Quelqu'un pourrait-il m'aider?
    Merci d'avance!

  2. #2
    Membre averti
    Femme Profil pro
    Ingénieur informatique scientifique
    Inscrit en
    Mai 2010
    Messages
    313
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur informatique scientifique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2010
    Messages : 313
    Points : 301
    Points
    301
    Par défaut
    J'ai trouvé finalement!
    Il fallait utiliser la méthode "do_autoscale" du widget CurveWidget:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    self.courbe.set_data(x, newValues)
    self.courbe.plot().replot()
    self.curveWidget.plot.do_autoscale()

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 22/11/2011, 10h14
  2. Mise à jour de la liste des ports COM détectées
    Par chourmo dans le forum Composants VCL
    Réponses: 2
    Dernier message: 23/12/2005, 15h11
  3. Modifier le Mini et le maxi de l'axe des ordonnées
    Par Jeannot45 dans le forum Access
    Réponses: 2
    Dernier message: 04/11/2005, 15h49

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