How to Manage the Order of Graphics Objects and Plots on an Axes Object?
20 views (last 30 days)
Show older comments
How to manage to specify the order of p1,r1, and r2?
For example, how can I put p1 between r1 and r2?
f = figure;
p1 = plot(-2:4, rand(1, 7))
r1 = rectangle('Position', [0 0 2 2], 'FaceColor', 'r');
r2 = rectangle('Position', [1 1 2 2], 'FaceColor', 'g');
axis([-2 4 -2 4])
0 Comments
Accepted Answer
Jan
on 7 Mar 2017
Edited: Jan
on 7 Mar 2017
Simply by creating the objects in the wanted order:
f = figure;
axes('NextPlot', 'add'); % As: hold on
r1 = rectangle('Position', [0 0 2 2], 'FaceColor', 'r');
p1 = plot(-2:4, rand(1, 7))
r2 = rectangle('Position', [1 1 2 2], 'FaceColor', 'g');
axis([-2 4 -2 4])
Or afterwards using uistack:
uistack(r2, 'bottom');
uistack(p1, 'top');
uistack(r1, 'top');
Alternatively (perhaps required with the OpenGL renderer), you can define a Z-value for the objects and set the 3D view accordingly. Then plot3 is needed, or the line command, and patch objects.
0 Comments
More Answers (0)
See Also
Categories
Find more on Graphics Object Properties in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!