Matlab - 无法显示手动设置轴

时间:2012-05-15 19:49:44

标签: matlab panel uicontrol axes

我创建了一个图形和一组uicontrols。当我运行程序时,面板覆盖默认轴(如果更合适,则绘制区域)。因此,我希望将面板放在某个位置,并将轴(或绘图区域)设置在一个单独的位置。我已经阅读了Matlab的帮助,并尝试了set,​​get,CurrentAxes,axis方法的许多变体。我还是想不通。到目前为止的基本代码是

mytitle = 'Kinematic Control of a Redudant Robotic System';
simfig = figure( 'menubar', 'none', 'position', [ 140 140 600 600], 'Name', mytitle, 'NumberTitle', 'off');
ax = axes( 'Parent', simfig, 'Units', pixels, 'Position', [ 150 150 300 300], 'XLim', [ 0 10], 'YLim', [ 0 8]);
panbut  = uipanel( simfig, 'Units', pixels, 'position', [20 45 143 150], 'Title', 'Simulation Buttons');
%buttons
up      = uicontrol( panbut, 'style', 'pushbutton', 'string', 'up',   'position', [ 50 90 40 40], 'callback', @up_button_press);
down    = uicontrol( panbut, 'style', 'pushbutton', 'string', 'down', 'position', [ 50 10 40 40], 'callback', @down_button_press); 
right   = uicontrol( panbut, 'style', 'pushbutton', 'string', 'right','position', [ 90 50 40 40], 'callback', @right_button_press); 
left    = uicontrol( panbut, 'style', 'pushbutton', 'string', 'left', 'position', [ 10 50 40 40], 'callback', @left_button_press);

我想念什么?

1 个答案:

答案 0 :(得分:1)

如果使用position属性定位绘图,结果可能非常不准确,因为标签和刻度标签的空间会添加到您在position中定义的空间。

为了避免重叠,您可以设置OuterPosition的{​​{1}}属性:

axes