MATLAB Answers

0

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?
Thanks

  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.
figure()
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');

  0 Comments

Sign in to comment.