Контурные графики - Datacursor - Как я могу принять значение уровня?

Привет, я написал функцию, чтобы я мог редактировать мои данные в контуре. Я могу занять позицию, но проблема в том, что я также не могу редактировать уровень (результат).

Я могу занять позицию, как это 'pos = get(event_obj,'Position');'

Есть ли какая-либо команда в Matlab, что я могу взять уровень (результат)?

1 ответ

Решение

Хорошее решение заключается в следующем:

После контурного сюжета пишем так:

dcm = datacursormode(gcf);
datacursormode on;
set(dcm, 'updatefcn',@perso_datacursor)

Затем мы создаем эту функцию:

function output_txt = perso_datacursor( obj,event_obj) 
dataIndex = get(event_obj,'DataIndex'); 
pos = get(event_obj,'Position'); 
h=get(event_obj,'Target'); 
X=get(h,'XData'); 
Y=get(h,'YData'); 
Z=get(h,'ZData'); 
idx_x=find(X==pos(1)); 
idx_y=find(Y==pos(2)); 
Level=Z(idx_y,idx_x); 
output_txt = {[ 'X',num2str(pos(1),4)],... 
[ 'Y',num2str(pos(2),4)],... 
[ 'Z',num2str(Level)]}; 
end

И у нас есть также уровень (результат) контура

Другие вопросы по тегам