特定のプロット(グラフ)を削除する方法

100 views (last 30 days)
高木 範明
高木 範明 on 29 Sep 2023
Commented: Dyuman Joshi on 30 Sep 2023
10本程度の曲線がFigureにプロットされている状態で、ある特定のプロットを数本だけ削除する方法をおしえていただけないでしょうか?
なお、プロットは「plot」「fimplicit」「quiver」が混在している状態です。よろしくお願いいたします。

Accepted Answer

Dyuman Joshi
Dyuman Joshi on 29 Sep 2023
Save the handles of each plot then delete accordingly.
%Example
figure
hold on
[X,Y] = meshgrid(0:6,0:6);
U = 0.25*X;
V = 0.5*Y;
q=quiver(X,Y,U,V,0,'b');
p=plot(X(:),Y(:),'k-');
f1=fimplicit(@(x,y) x.^2-y.^2-1, 'r--');
f2=fimplicit(@(x,y) x.^2.*sin(x)-y, 'g:');
hold off
%Check how many plots there are on the current axis
ax=gca;
ax.Children
ans =
4×1 graphics array: ImplicitFunctionLine ImplicitFunctionLine Line Quiver
%Delete the 2nd fimplicit plot
delete(f2)
%Updated axis after deletion
ax.Children
ans =
3×1 graphics array: ImplicitFunctionLine Line Quiver
You can also get the children of the current axis of the figure (i.e. all the plots (and any text), as I have done above) and delete plots accordingly, but that will be tedious.
  2 Comments
高木 範明
高木 範明 on 30 Sep 2023
Thank you for your prompt guidance. I also apologize for the delay in thanking you.
I see, now I understand that I can erase the plot in this way. Really, it was a great help.
早々のご教示をありがとうございます。また、御礼が遅れたことをお詫びいたします。
なるほど、このようにすればプロットを消すことができることを理解しました。本当に、助かりました。
Dyuman Joshi
Dyuman Joshi on 30 Sep 2023
You are welcome! Glad to have helped.

Sign in to comment.

More Answers (0)

Products


Release

R2023a

Community Treasure Hunt

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

Start Hunting!