Bonjour,

Je voudrais afficher, lorsque j'utilise le data cursor sur mon graphe 3D, les coordonnées X,Y et Z mais aussi le nom de la variable auquel le point correspond. Voila les lignes de code liées à cette partie du programme:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
    fig=figure;
    scatter3(SCORE(:,1),SCORE(:,2),SCORE(:,3),'filled')
    dcm_obj = datacursormode(fig);
    set(dcm_obj,'UpdateFcn',@myupdatefcn);
et la fonction myupdatefcn:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
    function txt = myupdatefcn(txt,event_obj)
    pos = get(event_obj,'Position');
    txt = {['A remplacer'],...
        ['X ',num2str(pos(1))],...
        ['Y ',num2str(pos(2))],...
        ['Z ',num2str(pos(3))]};
    end
A la place de 'A remplacer' je voudrais mettre:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
 txt(find(SCORE(:,1)==pos(1)),1)
C'est à dire on trouve la ligne dansSCORE correspondant à l'abscisse du point, et ensuite on va chercher dans txt le nom de cette ligne (qui est en fait le nom de la variable. Seulement il faudrait pouvoir mettre txt et SCORE en paramètres de myupdatefcn... ce qui n'est pas possible celon l'aide de Matlab. Comment faire?

Merci beaucoup,

Arno