Bonjour,

Ce message fait suite à mon dernier message. Devenant limite compréhensible et devenant une suite de réponse/question à tiroir, je me permets de poser le problème sur un topic tout neuf avec un exemple simple !

Voici l'exemple : J'ai 4 vecteurs :
- name : le nom du fichier
- data_X et data_Y mon jeu de données avec lesquels je plot.
- type : le type de fichier (ici 4 types différents pour ces fichiers).

Le but étant de plotter les points, avec une légende correspondant au type et afficher le nom (name) du fichier quand je click dessus. Seulement je n'arrive pas à faire les deux :

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
type = {'G1'; 'G1'; 'G2'; 'G1' ;'G3'; 'G3'; 'G2'; 'G1'; 'G3' ;'G4'}
name = {'fichier01'; 'fichier02'; 'fichier03'; 'fichier04' ;'fichier05'...
    ; 'fichier06'; 'fichier07'; 'fichier08'; 'fichier09' ;'Gfichier10'}
data_X = [4 5 8 7 8 5 6 1 4 5]
data_Y = [7 5 8 6 2 1 4 5 8 4]


figure
gscatter(data_X,data_Y ,type,'grbk','.x*+');

setappdata(gcf,'nom_fichier',name)                      
dcm=datacursormode(gcf);
set(dcm,'UpdateFcn',@updatefcn_data);
datacursormode on
                   >> ici type est pris en compte mais le clik pour avoir nom du fichier (name) est faux.                      

figure
plot(data_X,data_Y ,'b.');

setappdata(gcf,'nom_fichier',name)
dcm=datacursormode(gcf);
set(dcm,'UpdateFcn',@updatefcn_data);
datacursormode on
                   >> ici le click pour le nom (name) marche bien mais en utilisant plot je perds l'information sur le type.                      
Avec la fonction @updatefcn_data :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
function output_text=updatefcn_data(obj,event_obj)
 
idx = get(event_obj,'DataIndex');
name=getappdata(gcf,'nom_fichier');
nom_fichier = name{idx};
output_text{1} = sprintf('Fichier: %s',nom_fichier);
Merci pour vos lumières !