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

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

Réponse acceptée

Dyuman Joshi
Dyuman Joshi le 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 commentaires
高木 範明
高木 範明 le 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 le 30 Sep 2023
You are welcome! Glad to have helped.

Connectez-vous pour commenter.

Plus de réponses (0)

Produits


Version

R2023a

Community Treasure Hunt

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

Start Hunting!