我正在尝试编写一个滚动条,同时更改许多子图的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)
时,错误仍然存在。
答案 0 :(得分:2)
您传递的参数(h
和evt
)是MATLAB默认值。如果要将其他参数传递给回调函数,则需要在h
和evt
之后编写它们。像这样:
function slide_axes(h, evt, k)
% k is kids.
end