2012-05-15 4 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

문제가 해결 : 당신이 axesOuterPosition 속성을 설정할 수 있습니다 중첩에 방지하기 위해

! – vpap

답변

1

position 속성을 사용하여 플롯을 배치하는 경우 레이블 및 틱 레이블 공간이 position에 정의 된 공간에 추가되므로 결과가 상당히 부정확 할 수 있습니다.

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 - 문제가 해결되면 체크 표시를 눌러 공식적으로 수락하십시오. –

관련 문제