display rectangle on top of plotyy
2 次查看(过去 30 天)
显示 更早的评论
Hello community,
I would like to draw a rectangle on top of a plotyy. But the second plot data are always on top of the rectangle. I tried it with uistack, but that isn't working. Here is a small example...
[axh,hLine1,hLine2] = plotyy(1:100,randn(100,1),1:100,randn(100,1));
h = rectangle('Position',[1,0,20,3],'LineWidth',2);
% rectangle on top
uistack(h,'top')
uistack(hLine2,'down')
I really appreciate any help you can provide.
Greetings Sebastian
0 个评论
采纳的回答
Mike Garrity
2016-3-25
The first return value from plotyy (axh in your case) is an array of two handles. Try putting the rectangle in the other one. In other words, this:
[axh,hLine1,hLine2] = plotyy(1:100,randn(100,1),1:100,randn(100,1));
rectangle(axh(1),'Position',[1,0,20,3],'LineWidth',2)
is different from this:
[axh,hLine1,hLine2] = plotyy(1:100,randn(100,1),1:100,randn(100,1));
rectangle(axh(2),'Position',[1,0,20,3],'LineWidth',2)
2 个评论
Mike Garrity
2016-3-25
Sorry, I think that the 1st arg for rectangle was added in R2016a. It's just shorthand for a form that's been around for a long time:
rectangle('Position',[1,0,20,3],'LineWidth',2,'Parent',axh(2))
Most of the graphics objects take that first arg form. We've recently been going through and adding it to the ones which didn't have it.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Two y-axis 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!