Filter löschen
Filter löschen

How to Manage the Order of Graphics Objects and Plots on an Axes Object?

26 Ansichten (letzte 30 Tage)
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])

Akzeptierte Antwort

Jan
Jan am 7 Mär. 2017
Bearbeitet: Jan am 7 Mär. 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.

Weitere Antworten (0)

Kategorien

Mehr zu Graphics Object Properties finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by