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

96 visualizaciones (últimos 30 días)
高木 範明
高木 範明 el 29 de Sept. de 2023
Comentada: Dyuman Joshi el 30 de Sept. de 2023
10本程度の曲線がFigureにプロットされている状態で、ある特定のプロットを数本だけ削除する方法をおしえていただけないでしょうか?
なお、プロットは「plot」「fimplicit」「quiver」が混在している状態です。よろしくお願いいたします。

Respuesta aceptada

Dyuman Joshi
Dyuman Joshi el 29 de Sept. de 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 comentarios
高木 範明
高木 範明 el 30 de Sept. de 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 el 30 de Sept. de 2023
You are welcome! Glad to have helped.

Iniciar sesión para comentar.

Más respuestas (0)

Productos


Versión

R2023a

Community Treasure Hunt

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

Start Hunting!