Ordering graphics objects

2 次查看(过去 30 天)
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

采纳的回答

Grzegorz Knor
Grzegorz Knor 2011-9-26
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 个评论
Abed Alnaif
Abed Alnaif 2011-10-6
Sorry for the late response, but thanks -- this worked for me!

请先登录,再进行评论。

更多回答(1 个)

Teja Muppirala
Teja Muppirala 2011-9-26
The UISTACK command is used to order graphics objects.
help UISTACK

类别

Help CenterFile Exchange 中查找有关 Graphics Object Properties 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by