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 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
| function test
fig=figure;
X=calendar;
X=flipud(X);
[r,c]=meshgrid(1:size(X,2),1:size(X,1));
text(r(:)+.5,c(:)+.5,num2str(X(:)), ...
'horizontalalignment','center',...
'hittest','off')
axis equal
set(gca,'xlim',[1 size(X,2)+1], ...
'ylim',[1 size(X,1)+1],...
'xtick',[1:(size(X,2)+1)], ...
'ytick',[1:(size(X,1)+1)],...
'xticklabel','',...
'yticklabel','',...
'xgrid','on',...
'ygrid','on',...
'buttondownfcn',@click,...
'tag','myAxes',...
'box','on');
d=str2double(datestr(now,7));
[r,c]=find(X==d);
patch('vertices',[r c ; r c+1 ; r+1 c+1 ; r+1 c],'faces',[1 2 3 4],...
'facecolor',[.8 .7 1],'edgecolor',[.8 0 .8],'facealpha',.8,...
'tag','marker')
handles=guihandles(fig);
handles.X=X;
guidata(fig,handles);
function click(obj,event)
handles=guidata(gcf);
cp=get(gca,'currentpoint');
cp=floor(cp(1,1:2));
title(sprintf('Valeur cliquée : %d',handles.X(cp(2),cp(1))))
set(handles.marker,'vertices',[cp(1) cp(2) ; cp(1) cp(2)+1 ; cp(1)+1 cp(2)+1 ; cp(1)+1 cp(2)]) |
Partager