如何在像素值中找到轴下方的区域

时间:2018-06-21 00:06:37

标签: matlab position matlab-guide axes

是否有一个命令以像素为单位返回轴下方区域的坐标?

findobj(gcf,'tag','axes1')一样?

我需要这些坐标,以便可以在同一图形上的轴的正下方放置一个滑块。

1 个答案:

答案 0 :(得分:0)

MATLAB axes对象与所有其他类型的图形对象一样,具有一组可以查询和修改的属性。阅读documentation for the axes properties,以了解可修改的内容。

就像您要放置的uicontrol对象一样,axes对象具有Position属性。但是,默认情况下,axes.Position以归一化单位表示,而uicontrol.Position以像素为单位。

您可以将axes.Units属性设置为'pixels',之后可以查询和修改对象的像素位置:

ah = gca;
ah.Units = 'pixels';
p = ah.OuterPosition;
p(4) = p(2);
p(2) = 0;
uicontrol('style','slider','position',p)

注意:我使用axes.Outerposition属性,使滑块位于标签下方,axes.Position属性是轴线周围的框,没有任何标签。