app.myApp = uifigure();
app.UIAxes = uiaxes(app.myApp);
plot(app.UIAxes, rand(10,4),'o')
title(app.UIAxes, 'My Data')
[x,y] = selectDatapoints(app.UIAxes);
function [x,y] = selectDatapoints(ax)
delete(findall(ax, 'Type', 'images.roi.Rectangle'))
xyobj = findall(ax.Children, '-Property','xData');
xydata = get(xyobj, {'XData','YData'});
xydataMat = cell2mat(xydata');
originalTitle = get(ax.Title, {'String', 'Color'});
set(ax.Title, 'String', 'Draw rectangle around desired datapoints', 'Color', 'r')
pan(ax, 'off')
roi = drawrectangle(ax);
if ~isvalid(roi)
x = [];
y = [];
return
end
set(ax.Title, 'String', originalTitle{1}, 'Color', originalTitle{2})
isIn = xydataMat(1,:) >= roi.Position(1) & xydataMat(1,:) <= sum(roi.Position([1,3])) ...
& xydataMat(2,:) >= roi.Position(2) & xydataMat(2,:) <= sum(roi.Position([2,4]));
delete(roi)
x = xydataMat(1,isIn);
y = xydataMat(2,isIn);
end
댓글 수: 0
댓글을 달려면 로그인하십시오.