Can I delete one specific line from an axes

25 ビュー (過去 30 日間)
Eugene Davis
Eugene Davis 2018 年 7 月 30 日
コメント済み: Woody 2018 年 7 月 31 日
My axes has 2 lines in it. I'm using a spinner to move a vertical reference marker. Below is a snippet from the spinner callback. In a different axes object I want to keep the plot of the data and move the reference line. What I'm doing now is finding any lines in the axes and deleting all of them. Then I replot both of them, using an updated value for the x position. Seems pretty inelegant. I tried creating a handle for the specific reference to use delete() just on that one but I can't make that work.
axes(handles.LProfile);
h = findobj(gca, 'Type', 'line');
if ishandle(h)
delete(h)
end
plot(SW.LProfile,'b-')
line(handles.LProfile,[newTxprofile, newTxprofile],handles.LProfile.YLim)
  1 件のコメント
Woody
Woody 2018 年 7 月 31 日
You can add a tag on your reference line, and delete based on the tag
line(x,y,'tag','reference');
delete(findobj('tag','reference'));

サインインしてコメントする。

回答 (0 件)

カテゴリ

Help Center および File ExchangeGraphics Object Programming についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by