2012-05-15 3 views
1

Создаю фигуру и панель uicontrols. Когда я запускаю программу, панель накладывает оси по умолчанию (или область графика, если это более подходит). Итак, я хочу, чтобы панель находилась в определенном положении, а оси (или область графика) устанавливались в отдельном положении. Я прочитал инструкцию Matlab и попробовал много вариантов методов set, get, CurrentAxes, axis. Но я не могу понять. Базовый код до настоящего времени составляетMatlab - невозможно отобразить вручную установленные оси

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); 

Что мне не хватает?

+0

проблема решена! – vpap

ответ

1

Если вы разместите свои участки с использованием свойства position, результаты могут быть весьма неточными, так как пространство для этикеток и меток добавить в пространство, которое вы определяете в position.

Для того, чтобы избежать перекрытия вы можете установить OuterPosition свойство axes:

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','outerPosition', [ 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); 
+0

Благодарим за помощь. Свойство внешнего вида, решил мою проблему. – vpap

+1

@ user1397055 - если это решит вашу проблему, пожалуйста, нажмите галочку, чтобы официально принять ее. –