Remove data in figure after plot

I have the following situation, and I would like to select only some of that curves. Is there a manner?

3 个评论

This methods assume you know the order of lines plotted and you know which lines (by number) you want to delete -
x = 0:0.01:10;
%5 curves
y1 = 10*sin(x);
y2 = 10*cos(x);
y3 = 0*x+10;
y4 = x.^2;
y5 = 10*(sin(x)-cos(x));
%plotting the curves
figure
plot(x,y1,x,y2,x,y3,x,y4,x,y5)
%Find line objects
h = findobj('type','line');
%The list returns the lines in the reverse order
%So (i)th line drawn corresponds to the (n(total number of lines)- i + 1) th
%element of h
delete(h(6-[2 5]))
But I can make the curves invisible inside the "Figure" window?
What exactly do you mean by that?

请先登录,再进行评论。

 采纳的回答

Similar to @Dyuman Joshi's answer, you can make the line "invisible", rather than deleting:
x = 0:0.01:10;
%5 curves
y1 = 10*sin(x);
y2 = 10*cos(x);
y3 = 0*x+10;
y4 = x.^2;
y5 = 10*(sin(x)-cos(x));
%plotting the curves
figure
h = plot(x,y1,x,y2,x,y3,x,y4,x,y5);
% Turn off the visibility of the first curve
set(h(1),"Visible","off")

2 个评论

But I can make the curves invisible inside the "Figure" window?
I'm confused. Here, I'm making all the curves invisible.
x = 0:0.01:10;
%5 curves
y1 = 10*sin(x);
y2 = 10*cos(x);
y3 = 0*x+10;
y4 = x.^2;
y5 = 10*(sin(x)-cos(x));
%plotting the curves
figure
h = plot(x,y1,x,y2,x,y3,x,y4,x,y5);
% Turn off the visibility of all curves
set(h,"Visible","off")

请先登录,再进行评论。

更多回答(0 个)

类别

在 帮助中心 和 File Exchange 中查找有关 Creating, Deleting, and Querying Graphics Objects 的更多信息

产品

版本

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by