MATLAB Answers


Where are all drawn shapes stored from an axis?

Asked by Joseph Henry on 16 Jul 2019
Latest activity Edited by Adam Danz
on 19 Jul 2019
Let's say that I have an axis and I draw three shapes on it using drawrectangle.
Is there some way to call an array that holds the handles to each of these shapes?

  1 Comment

If you store them when you call drawrectangle and keep the output argument, yes.

Sign in to comment.

1 Answer

Answer by Adam Danz
on 16 Jul 2019
Edited by Adam Danz
on 19 Jul 2019
 Accepted Answer

Store handles
In the block below, r1, r2, & r3 are handles to the 3 rectangles.
r1 = rectangle('Position',[0 0 2 4],'Curvature',0.2);
hold on
axis equal
r2 = rectangle('Position',[3 0 2 4],'Curvature',1);
r3 = rectangle('Position',[6 0 2 4],'Curvature',[0.5,1]);
Retrieve handles if they aren't stored
The line below search for objects of type "rectangle" in the current axes. For the plot created above, r would be a vector of object handles of size [3x1].
r = findobj(gca, 'Type', 'rectangle');


Sign in to comment.