【发布时间】:2013-12-12 16:41:52
【问题描述】:
我在 Matlab 上遇到了一个奇怪的行为。我想用可变参数绘制一个简单的 3D 曲面。
简单示例:
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/2KrnWeH.png
我现在尝试在我的图上添加一个滑块来直接控制参数的值:
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/TqkMSmH.png i.imgur.com/i9xablF.png(第二张图片与幻灯片的其他位置
但是主菜单栏已经不存在了,尤其是“Pan”图标,它允许我在 3D 中操作图形。
我尝试在我的滑块定义之后手动添加它
uicontrol('MenuBar','figure');
我也试过了:
set(figHandle, 'MenuBar', 'figure');
到目前为止没有成功。
有人已经遇到过这个问题并找到了解决方法吗?还是我只是错过了一些简单的东西?
谢谢:)
编辑:编辑图片链接,我放一个来管理它们
【问题讨论】:
-
顺便说一下,它是工具栏而不是菜单栏。
标签: matlab user-interface 3d slider pan