Discussion: selection de points dans une figure [Débutant]

  1. #1
    Membre à l'essai
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    août 2015
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : août 2015
    Messages : 43
    Points : 12
    Points
    12

    Par défaut selection de points dans une figure

    bonjour à tous
    Je voudrais savoir si il y a un moyen de sélectionner plusieurs points sur une figure "plot" et d'afficher les coordonnées dans un "tableau " puis de sauvegarder ce tableau.
    Un peu comme un data cursor à plusieurs entrées.
    J'espére que ma question est suffisamment claire....
    Merci pour vos réponses
    cyril

  2. #2
    Membre émérite
    Homme Profil pro
    Inscrit en
    mai 2008
    Messages
    1 715
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : mai 2008
    Messages : 1 715
    Points : 2 310
    Points
    2 310

    Par défaut selection de points dans une figure

    Bonjour,

    Un exemple :

    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
    %Positions [x,y] de la souris sans arrêt du programme
    clear
    p=0;
    x=0:0.1:10;y=sin(x);
    fig=figure(1);
    plot(x,y)
    grid
    hold
    datacursormode on
    n=0;coordDataIndexnm1=0;
    while p==0
        coord=getCursorInfo(datacursormode(fig));% Lecture souris
        if isempty(coord) % Permet l'initialisation
        else
            pos=coord.Position;
            plot(pos(1),pos(2),'.r','MarkerSize',23); % Marquage de la mesure
            if pos==[0 0]% Sortie pour [0 0]
                break
            end
            if coord.DataIndex~=coordDataIndexnm1
                n=n+1
                pxy(n,1:2)=pos;% Sauvegarde des positions
                coordDataIndexnm1=coord.DataIndex;
            end
        end
     
        pause(0.1)
    end
    pxy

  3. #3
    Membre à l'essai
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    août 2015
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : août 2015
    Messages : 43
    Points : 12
    Points
    12

    Par défaut

    Merci phryte , désolé de pas t'avoir répondu plus tôt , panne internet à cause des orages , je regarde ça demain et reviens vers toi si besoin

  4. #4
    Membre à l'essai
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    août 2015
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : août 2015
    Messages : 43
    Points : 12
    Points
    12

    Par défaut

    bonjour Phryte
    j'ai testé ton script , c'est exactement ce que je voulais merci beaucoup
    J'ai un seul souci il me retourne l'erreur suivante qui est lié à la fermeture de la figure , aussi est il possible de créer le fichier "pxy" sans fermer la figure.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ??? Error using ==> datacursormode at 147
    Invalid figure handle
     
    Error in ==> select_souris at 12
        coord=getCursorInfo(datacursormode(fig));% Lecture souris
    Deuxième question je ne trouve pas dans l'aide matlab a quoi correspondent les valeurs 0.1 après pause.

    encore merci
    cyril

  5. #5
    Membre émérite
    Homme Profil pro
    Inscrit en
    mai 2008
    Messages
    1 715
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : mai 2008
    Messages : 1 715
    Points : 2 310
    Points
    2 310

    Par défaut selection de points dans une figure

    Bonjour,
    En cliquant aux coordonnées [0 0] on sort de la boucle sans fermer la fenêtre.
    As-tu bien mis :pause(n) est une temporisation de n seconde (help pause)

  6. #6
    Membre à l'essai
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    août 2015
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : août 2015
    Messages : 43
    Points : 12
    Points
    12

    Par défaut

    C'est bon , j'avais pas pigé le fait de cliquer en 0,0 , tu avais tout prévu.
    Je l'ai intégré dans ma petite routine et tout fonctionne 😀
    Encore merci.

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

Discussions similaires

  1. Algorithme de selection des points dans une grille
    Par Senadin dans le forum Général Algorithmique
    Réponses: 3
    Dernier message: 18/12/2013, 19h16
  2. Méthode de selection des points dans une grille-Implémentation de l'algorithme
    Par Senadin dans le forum SIG : Système d'information Géographique
    Réponses: 0
    Dernier message: 10/12/2013, 01h39
  3. Réponses: 2
    Dernier message: 18/11/2009, 14h28
  4. Coordonnée d'un point dans une figure
    Par christophe_halgand dans le forum MATLAB
    Réponses: 5
    Dernier message: 25/09/2008, 14h31
  5. mesure de distance entre 2 points dans une figure
    Par sdecorme dans le forum MATLAB
    Réponses: 4
    Dernier message: 04/07/2008, 20h51

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