Can I delete one specific line from an axes
25 ビュー (過去 30 日間)
古いコメントを表示
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
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 Exchange で Graphics Object Programming についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!