Why delete(fin​dobj(gca,'​type', 'patch')) is not working for erasing scattered points ?

4 次查看(过去 30 天)
Here's a simple snippet that shows that
delete(findobj(gca,'type', 'patch'))
is not working for erasing scattered points:
figure
x = [1,2,3,4]
y = [1,2,3,7]
scatter(x,y,50);
delete(findobj(gca,'type', 'patch')) % not working
%delete(findobj(gca,'SizeData', 50)) % does work
Uncommenting the last line solves the problem, but this is a workaround, or what ?

采纳的回答

Adam Danz
Adam Danz 2020-1-13
编辑:Adam Danz 2020-1-14
"Why delete(fin​dobj(gca,'​type', 'patch')) is not working for erasing scattered points ?"
Because s = scatter(___) produces a scatter object, not a patch object.
Instead,
delete(findobj(gca,'type', 'scatter'))
Or better yet, use the scatter output which does not require the use of the axis handle and is more responsible since you're deleting a specific object rather than deleting all existing matches to an object type within the current axes.
s = scatter(. . .);
delete(s)

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Polygons 的更多信息

产品


版本

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by