今天我试着在我的图下面添加一个滑块,这样当你滑动它时就会画出不同的图。最终,我让所有这些都能很好地工作,但我仍然有两个小问题。在带有滑块的图形顶部,图形工具栏不见了。单击图顶部的视图->图工具栏可以很容易地添加它。然而,每次都这样做有点乏味。当我在谷歌上搜索这个问题时,结果都是创建自定义工具栏的指南。我只想把默认的工具栏添加回来,它很好。但我不知道该怎么做。键入"uitoolbar"会得到一个空的。但我不知道如何用默认图标填充它。
还有我遇到的第二个问题;主脚本最后调用一个函数,然后这个函数用滑块创建新的图形。然而,在此之前,我需要将要绘制的数据矩阵从主脚本转移到函数,因此我将矩阵作为全局变量。然而,一旦调用该函数,matlab就会给我这个错误(每个全局变量一次):
> In xxxx at 270
Warning: The value of local variables may have been changed to match the globals.
Future versions of MATLAB will require that you declare a variable to be global before you use that variable.
在我调用函数之前,我键入
global xL yL zL p
它们是绘图所需的数据。然后函数文件中的第一行又是同一行。数据传输似乎很好,图表显示了正确的图表。这是我可以忽略的错误吗?既然一切正常?或者它到底是什么意思?
好的,这是我的2美分:
1) 据我所知,获取工具栏的最简单方法是使用findobj,然后使其可见:
hToolBar = findobj('Type','uitoolbar');
set(hToolBar,'Visible','on');
您也可以使用"get"获取工具栏的属性。以下是我运行的一个简单脚本的样子:
get(hToolBar)
hToolBar =
0.1890 %// don't worry about that number; it's the handle for the toolbar.
BeingDeleted = off
ButtonDownFcn =
Children = [1.18896]
Clipping = on
CreateFcn =
DeleteFcn =
BusyAction = queue
HandleVisibility = on
HitTest = on
Interruptible = on
Parent = [1]
Selected = off
SelectionHighlight = on
Tag =
Type = uitoolbar
UIContextMenu = []
UserData = []
Visible = off
我不知道为什么它会消失。
2) 如果你把数据作为函数的输入发送,你可能会去掉那些全局变量,这是可能的吗?
例如:
function PlotData(xL,yL,zL,p)
%// Your code here
希望能有所帮助!