是否有一个命令以像素为单位返回轴下方区域的坐标?
像findobj(gcf,'tag','axes1')
一样?
我需要这些坐标,以便可以在同一图形上的轴的正下方放置一个滑块。
答案 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
属性是轴线周围的框,没有任何标签。