How to work with the current point feature in app designer?

7 Ansichten (letzte 30 Tage)
Lavanya
Lavanya am 14 Sep. 2022
Kommentiert: Kevin Holly am 27 Sep. 2022
Hello,
The below code is working in Matlab but I am unable to execute this same thing in Matlab app designer.
fig = figure('Interruptible', 'off');
ax1 = subplot(1,2,1);
ax2 = subplot(1,2,2);
fig.WindowButtonMotionFcn = @(~,~) [];
t = timer('Period', 0.1, 'ExecutionMode', 'fixedRate', 'TimerFcn', {@mouseMotionCB, ax1, ax2});
start(t)
ginput(1)
stop(t);
delete(t);
function mouseMotionCB(fig, event, ax1, ax2)
currentPoint1 = ax1.CurrentPoint(1,1:3);
x1 = currentPoint1(1);
y1 = currentPoint1(2);
if (ax1.XLim(1)<x1)&&(x1<ax1.XLim(2)) && (ax1.YLim(1)<y1)&&(y1<ax1.YLim(2))
fprintf('This is axes 1, Current Point is %f %f %f\n', currentPoint1);
end
currentPoint2 = ax2.CurrentPoint(1,1:3);
x2 = currentPoint2(1);
y2 = currentPoint2(2);
if (ax2.XLim(1)<x2)&&(x2<ax2.XLim(2)) && (ax2.YLim(1)<y2)&&(y2<ax2.YLim(2))
fprintf('This is axes 2, Current Point is %f %f %f\n', currentPoint2);
end
end
I have created an 'app1.mlapp', but this code is not executing in app designer .Can anyone help me with this?
  2 Kommentare
Mahdi Hayati
Mahdi Hayati am 14 Sep. 2022
what is the error you get when running this code in appdesigner?
Lavanya
Lavanya am 14 Sep. 2022
ginput() is working , after the mouseclick values are printing in workspace.
It not displaying the values at figure window.
Error : Too many input arguments

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Kevin Holly
Kevin Holly am 14 Sep. 2022
Please see the app attached with the script for the callback function. Let me know if this addresses your problem.
Note, I also attached an app for the pop up window if you were interested in using this instead.
  6 Kommentare
Lavanya
Lavanya am 27 Sep. 2022
Bearbeitet: Lavanya am 27 Sep. 2022
why the above code is not working for me. I am using matlab 2021rb, Is this the reason?
Please help me to fix this issue?
Kevin Holly
Kevin Holly am 27 Sep. 2022
I changed
brush(app.UIAxes,"on")
to
brush(app.UIAxes,'on')
and it worked for me in R2021b (see attached).
Is there a reason crossair.mlapp doesn't work for you?

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Graphics Object Properties finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by