cla reset stops UIAxesButtonDown from working
Mostrar comentarios más antiguos
Hello. I have a UIAxes that I plot on and I want to manually be able to add text where ever I click on the graph. I am using the following to do this UIAxesButtonDown(app, event) defined as:
ax=app.UIAxes;
%set(ax, 'hittest', 'off');
cursorPos = ax.CurrentPoint(1,1:2);
app.curX=(cursorPos(1)); % Current Mouse Coords defined as a public property
app.curY=(cursorPos(2)); % Current Mouse Coords defined as a public property
This works and indeed after I have plotted a graph Im able to place the text where I click on the graph. (see the function myAddText below)
However, if I clear the UIAxes by
Cla(ax,’reset’)
Then this is where it stops working. I have played about with hittest etc and still no luck.
If I use the following instead to clear the UIAxes, it all works again
ax=app.UIAxes;
b=ax.Children
n=numel(b)
for i=1:n
delete(b(i))
end
So my questions are:
1: What is it with cla 'reset' that stops it working and how can I correct it
2: Is my alternative way of clearing the UIAxes good for removing all graphics objects on the UIAxes so I actually don't need cla 'reset;
function myAddText(app)
ax=app.UIAxes;
x=app.curX;% SavedMouse Coords
y=app.curY; % SavedMouse Coords
txt=app.AddTitleEditField.Value;
txt=horzcat('\leftarrow',txt);
text(ax,x,y,txt,'Color',cl,'FontSize',12,'Interpreter', 'tex','HorizontalAlignment','left','VerticalAlignment','middle');
Respuesta aceptada
Más respuestas (1)
Image Analyst
el 23 de Mzo. de 2023
If yoiu just want to clear the axes without disconnecting your callback function why not call cla without 'reset':
cla(app.UIAxes);
1 comentario
Jason
el 23 de Mzo. de 2023
Categorías
Más información sobre MATLAB en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!