2013-12-12 5 views
1

Matlab에서 이상한 동작이 발생합니다. 가변 파라미터를 사용하여 3D로 간단한 표면을 그립니다.슬라이더를 추가하면 도구 모음이 제거됩니다.

간단한 예 :

function test() 
    figHandle=figure; 
    param = 0.5; 
    [x,y]=meshgrid(linspace(-1,1,10),linspace(-1,1,10)); 
    z = param*x./y; 
    surfacePlotted = surf(x,y,z); 

    sliderPosition=[10 400 200 20]; 

    hsl = uicontrol('Style','slider','Min',-2,'Max',2,'SliderStep',[1 1]./(10),'Value',param,'Position',sliderPosition,'Callback',{@updatePlot,surfacePlotted}); 
end 

function updatePlot(hObject,~,eventdata) 
    surfacePlotted=eventdata; 
    param = get(hObject,'Value'); 
    x=get(surfacePlotted,'XData'); 
    y=get(surfacePlotted,'YData'); 
    z = param*x./y; 
    set(surfacePlotted,'ZData',z); 
end 
: 지금 직접 매개 변수의 값을 제어하기 위해 내 그림에 슬라이더를 추가하려고 http://i.imgur.com/2KrnWeH.png

:

param = 0.5; 
[x,y]=meshgrid(linspace(-1,1,10),linspace(-1,1,10)); 
z = param*x./y; 
surf(x,y,z); 

나는 고전적인 3D 사진을 얻을

좋은 슬라이더를 클릭하고 매개 변수를 수정하려면 클릭하십시오 : http://i.imgur.com/TqkMSmH.png i.imgur.com/i9xablF.png (두 번째 p 슬라이드에 대한 다른 위치로 사진 찍기

그러나 메인 메뉴 모음은 더 이상 여기에 없으며, 특히 "팬"아이콘을 사용하면 그림을 3D로 조작 할 수 있습니다.

나는 수동으로 슬라이더 정의

uicontrol('MenuBar','figure'); 

후 추가하려하고 나는 또한 시도 :

set(figHandle, 'MenuBar', 'figure'); 

성공하지 않고 지금까지.

누구든지이 문제를 이미 해결했으며 해결 방법을 찾았습니까? 아니면 간단히 놓치고 있습니까?

감사합니다 :)

편집 : 만

uicontrol side-effect: removing figure toolbar

당신은 : 편집 사진 링크, 나는 그들에게

+0

By 도구 모음이 아닌 메뉴 바입니다. – pm89

답변

0

그것은 Yair의 웹 사이트 (undocumentedmatlab) 여기에 언급되어 관리하는 1 점을 추가하는 듯 이 줄을 코드에 추가해야합니다.

set(figHandle,'toolbar','figure'); 
+0

감사합니다. 링크를 보았지만 MenuBar와 툴바 사이에 엉망이되었습니다. – Shadeslayer

관련 문제