clear one plot in multiple (hold) figure

조회 수: 104 (최근 30일)
Ashton
Ashton 2011년 2월 16일
댓글: Tomas 2022년 11월 18일
I have a single figure/plot that contains multiple plots commands (not subplots - just multiple data sets). I need to be able to add the data to the current figure, see how it looks, and clear it if doesnt fit my visual criteria.
Any suggestions?
clf clears the entire figure. I just want to clear the last data set I added to the figure.

채택된 답변

the cyclist
the cyclist 2011년 2월 16일
figure
hold on
h1 = plot(1:10,'r');
h2 = plot(2:11,'g');
if <your condition doesn't hold>
set(h2,'Visible','off')
end
  댓글 수: 3
Rik
Rik 2020년 6월 22일
If you're using this code you aren't deleting the plot. You are just making the plot invisible. The solution is to set visible to 'on' again if you want to show the plot.
Tomas
Tomas 2022년 11월 18일
Now if I were top do this inside a callback function i would do e.g.
h1 = plot(1:10,'r');
then how can I do the set(h2,'Visible','off') in a separate callback function?

댓글을 달려면 로그인하십시오.

추가 답변 (3개)

Matt Tearle
Matt Tearle 2011년 2월 16일
In addition to the cyclist's answer, you can also do
delete(h2)
to actually delete the line, rather than just hide it. Also, if you didn't store the handles on plotting ( h1 = plot(...) ) you can find them after the fact using findobj
h = findobj('type','line')
finds a vector of handles to all line objects. You could then delete(h(1))
  댓글 수: 3
Wencai Lee
Wencai Lee 2011년 4월 6일
Hi Jiro,
Do you know how to undo one step after using the delete(gco)?
Thanks!
Eric T
Eric T 2016년 3월 18일
This seems a nice, principled answer. Don't like making them invisible because that takes up memory, def prefer to delete them!

댓글을 달려면 로그인하십시오.


Sai
Sai 2017년 1월 18일
Go to 'View' and click on the 'Plot Browser' to enable it. There you can check/uncheck the plots in the figure

Ashton
Ashton 2011년 2월 16일
Thanks guys!
  댓글 수: 1
Matt Tearle
Matt Tearle 2011년 2월 16일
You're welcome. And now the obligatory message: to help others who might have the same question, it would be great if you could vote for and/or accept answers that you think should be given prominence. Thanks. (I know there's only a couple of answers in this case, but it's good practice to let everyone know "answer X solved my problem")

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Annotations에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by