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

MATLAB Discussion :

Comment distinguer sur quelle courbe on a cliqué?


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 3
    Par défaut Comment distinguer sur quelle courbe on a cliqué?
    Bonjour,

    J’aimerais savoir comment il faut faire pour rajouter des évènements sur des courbes. (Pour une interface graphique sous guide ou non)
    Par exemple imaginez une fenêtre avec plusieurs graphes différents. Sur chaque graphe il peut y avoir plusieurs courbes. Si je clique sur l’une je voudrais pouvoir récupérer les paramètres qui m’ont permis de l’obtenir et les afficher. Idem si je clique la seconde courbe etc.
    Avez vous une idée sur la procédure à suivre. Ça doit bien se faire mais je dois bien dire que je sèche quelque chose de mignon là dessus, débutant oblige !

    Je doute si je suis bien clair alors… voici un ex :
    On dispose d'un graphe et de 3 courbes (vert rouge bleu …) qui sont affichées dedans … si je clique sur la 'bleu' cela pourrait correspondrent à la simulation du "25/06/07" avec les paramètres « température …lieu etc » si je choisis la seconde ce sera la même chose mais d’autres valeurs…En gros je voudrais pouvoir faire la distinction entre chacune d’entre elle et récupérer les informations lui correspondant (je ne parle pas des coordonnées x,y, j'ai vu que c'était marqué sur d'autres messages).

    Je vous remercie.
    Nico

    PS: je n'ai pas encore trouvé ou je devais le dire mais la version de matlab utilisée est la R2006b

  2. #2
    Membre chevronné
    Avatar de Dam2227
    Inscrit en
    Juin 2007
    Messages
    343
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Juin 2007
    Messages : 343
    Par défaut
    Bonjour
    Je ne sais du tout si on peut faire ça sous MATLAB. Mais pour contourner ce problème, tu pourrais faire des pusbutton (avec GUI) qui te renverrais les valeurs que tu désires à la place. Ce serais peut-être plus simple...

  3. #3
    Expert confirmé
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Par défaut
    Ce lien peut peut-être t'aider : ButtonDownFcn

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 3
    Par défaut Cherche toujours...
    Bonjour, hé bé! J'ai bien cru que je ne pourrais pas répondre! (cause: mon 'ex' navigateur semblerait-il!)

    Donc j'avais pensé à cette solution de mettre un pushbutton mais elle est un peu archaïque je trouve. Car normalement on doit pouvoir rajouter des coubes sur mes graphes en question (qui proviendraient de simulation antérieur) Donc... ça ne me semble pas très pratique.
    En fait je voudrais savoir si la courbe était considérée comme un 'objet' qui hériterait de 'figure' par exemple je ne sais pas. Lorsque l'on 'plot' une courbe nous l'obtenons bien dans un plot et une figure que l'on peut éditer, changer sa couleur, son style: pointillé, trait fin ,gros etc... Il doit bien y avoir un moyen de lui associé un genre d'évènement sur clique de souris qui engendrerait une autre action non? C'est une fonctionnalité qui n'est pas si rarement utilisé que ça enfin je crois.
    Je vais continuer de chercher ça, si elle existe on la trouvera bien. J'espérais que quelqu'un l'avait déjà tenté, c'est même certain. En tout cas je vous remercie d'avoir essayé de m'aider.
    Très bonne journée à vous!
    Nico

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 3
    Par défaut
    J'ai reparcouru tout ce qui était lié aux objets "AXE" et 'line' et le fameux 'ButtonDownFcn' dont vous parliez dans votre liens.
    Je parviens à faire des petites choses intéressantes donc c'est déjà ça. Maintenant je vais essayer de voir comment le généraliser car pour l'instant je ne sais pas trop comment je vais "lui" dire que telle courbe correspond à tels paramètres...Il faudrait que je mémorise à la création sans doute, j'aurais bien aimé l'associer directement à l'object de la courbe, un peu comme un 'String' (dailleurs c'est ce que je vais regardé là). Il reste encore du boulot.
    Si jamais vous aviez des 'lumières'...je les prendrai volontiers ;-)

    Enfin merci bien pour votre aide!
    Nico

  6. #6
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 317
    Par défaut
    Voici une première solution à améliorer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    figure
     
    th=linspace(0,4*pi,100);
    hold on
    p(1)=plot(th,sin(th),'r-');
    p(2)=plot(th,cos(th),'b-');
     
    bdfcn='name=get(gcbo,''userdata'');set(gcbf,''name'',name)';
     
    set(p(1),'userdata','Sinus','buttondownfcn',bdfcn,'linewidth',3)
    set(p(2),'userdata','Cosinus','buttondownfcn',bdfcn,'linewidth',3)
    Il faudra d'abord stocker le nom associé à chaque courbe ailleurs que dans le
    UserData et ensuite adapter la propriété ButtonDownFcn... mais c'est un bon début

Discussions similaires

  1. [VisualSVN] Comment savoir sur quelle branche on travaille ?
    Par WebPac dans le forum Subversion
    Réponses: 23
    Dernier message: 01/07/2009, 20h37
  2. Comment savoir sur quel bouton on a cliqué ?
    Par sarah65536 dans le forum Langage
    Réponses: 10
    Dernier message: 26/06/2009, 19h25
  3. Réponses: 3
    Dernier message: 15/10/2008, 15h15
  4. Réponses: 2
    Dernier message: 16/07/2007, 10h37
  5. [WinForms]comment savoir sur quel bouton j'ai cliqué?
    Par bossun dans le forum Général Dotnet
    Réponses: 4
    Dernier message: 14/03/2006, 15h18

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