delete text from plot in app designer

8 次查看(过去 30 天)
Using app designer, after implementing text in a plot I want to delete this text. So far, I did not succeed in doing this.
I am using a UIAxes, a text edit field and three buttons. The first button loads the graph, the second one puts in the text that is written in the text edit field and the third button deletes all text.
Here the code:
button 1 (create figure)
aa = [1 2 3 4 5];
bb = [7 3 4 6 3];
plot(app.UIAxes,aa,bb)
% use private property
app.aa = aa;
app.bb = bb;
button 2 (put in the text)
% load variables
aa = app.aa;
bb = app.bb;
c = app.EditField.Value;
text(app.UIAxes,aa(3),bb(3),sprintf('%s',c));
button 3 (delete text) (This one does not work)
delete(findobj(app.UIAxes,gca,'type','text'))
The delete button should find the text in the app.UIAxes and delete this. But instead, it opens an empty figure and gives an error. (error using matlab.ui.control.UIAxes/findobj)
It works fine in a matlabscript, but something is going wrong in app designer.
How to fix this?

采纳的回答

acegi bdegi
acegi bdegi 2018-1-3
移动:Voss 2023-12-22
Found it.
The gca has to be removed,
delete(findobj(app.UIAxes,'type','text'));
as App Designer cannot handle gca commands. That is the greatest downside of App Designer, a lot of functions are not supported.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Develop Apps Using App Designer 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by