我正在尝试编写一个滚动条,同时更改许多子图的x范围。
kids = get(gcf,'Children');
h=uicontrol('style','slider',...
'units','normalized','position',Newpos,...
'callback',{@slide_axes,kids},'min',0,'max',xmax-chunkDuration);
Update_axes在同一个文件中定义:
function slide_axes(h)
set(h,'xlim',get(gcbo,'value')+[0 20000]);
结束但是,我得到错误:
??? Error using plot_scroll>slide_axes
Too many input arguments.
??? Error while evaluating uicontrol Callback
我在FEX上看到回调函数可以传递两个参数给任何回调函数。但是,当我将slide_axes
的签名更改为slide_axes(h,evt)
时,错误仍然存在。
您传递的参数(h
和evt
)是MATLAB默认值。如果你想传递额外的参数给你的回调函数,你需要把它们写在h
和evt
之后。这样的:
function slide_axes(h, evt, k)
% k is kids.
end