Ordering graphics objects

2 Ansichten (letzte 30 Tage)
Abed Alnaif
Abed Alnaif am 26 Sep. 2011
Hi, I have a rectangular and a line graph, and I want to order the rectangle such that it is at the back of the figure (i.e. behind the line graph). How do I do this? I tried to use the set(gca,'Children',...) command, but it didn't work (i.e. the rectangle shows up on top of the graph, and hides the data). My operating system is Mac OS X, in case that matters. See the example code below:
function test_plot( )
figure;
p = plot(ones(5,1));
r = rectangle('Position',[0,0.9,1,0.2],'FaceColor','y');
set(gca,'Children',[p r])
end

Akzeptierte Antwort

Grzegorz Knor
Grzegorz Knor am 26 Sep. 2011
Command plot(x) is equivalent to plot(1:numel(x),x). In your example the rectangle is placed before the line on the x axis.
Plot line in this way:
p = plot(0:4,ones(5,1));
r = rectangle('Position',[0,0.9,1,0.2],'FaceColor','y');
set(gca,'Children',[p;r])
  1 Kommentar
Abed Alnaif
Abed Alnaif am 6 Okt. 2011
Sorry for the late response, but thanks -- this worked for me!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Teja Muppirala
Teja Muppirala am 26 Sep. 2011
The UISTACK command is used to order graphics objects.
help UISTACK

Kategorien

Mehr zu Creating, Deleting, and Querying Graphics Objects 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